perl でs/ダ・カーダ/ダ・カーポ/; できないよね。

というわけでvcの出番

void CMyDlg::OnBnClickedOk()
{
    // TODO : ここにコントロール通知ハンドラ コードを追加します。
    CFileFind ff;
    CStringArray sa;

    UpdateData(TRUE);
    if( ff.FindFile( m_dir +  _T("*.*") ) )
    {
        //    s/ダ・カーダ/ダ・カーポ/; できないよね。。
        BOOL b; 
        do{
        if(! ff.IsDots() && ! ff.IsDirectory()){
            CString src = ff.GetFileName();            
            if(  src.Find(_T("ダ・カーダ")) != -1)
            {
                sa.Add(src);
            }
        }
            b = ff.FindNextFile();
        }while( b );
    }

    for(int i = 0 ; i < sa.GetCount() ; i++ ) {
        CFileException e;
        CString dst(sa[i]);
        dst.Replace(_T("ダ・カーダ"), _T("ダ・カーポ"));
        TRY{
            CFile::Rename( m_dir + sa[i],
                m_dir + dst );
        }CATCH(CFileException, e) 
        {
        }
        END_TRY
    }

    //    OnOK();
}