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(); }