- ベストアンサー
ファイル名の変換
OS:windows2000, windowsXP データ格納場所:C\work 格納ファイル名 0-AA0-12567.xls 0-XCA-01235.pdf 0-DOC-87564.doc 0-xca-12567.xls 0-xca-82567.xls 0-XCA-01235.pdf 0-0 A-87564.doc 上記のファイル類の内でファイル名に大文字、小文字を問わず 『XCA』『xca』という文字を『XAC』(大文字)に変換 したいのですが、どのようなバッチを作成すれば良いでしょうか? 初歩的な質問では申し訳ございません ご存知の方、ご教示くださいます様お願いします 補足:VBであれば多少は理解できます
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
次のようなバッチで可能です。 c: cd c:\work for /f "tokens=1,2,3* delims=-" %%i in ('dir /b') do ( if /i "%%j" == "XCA" ren %%i-%%j-%%k %%i-XAC-%%k ) Win2000で動作するかは未確認です。
その他の回答 (1)
- tsukasa-12r
- ベストアンサー率65% (358/549)
Windows 標準のコマンドラインツール ( DOS コマンド ) だけでは難しそうですね。 VBA だったら、こんな感じでできます。 Private Sub CommandButton1_Click() Dim strLowerKeyWord As String Dim strUpperKeyWord As String Dim strFolderName As String Dim strLowerFileName As String Dim strUpperFileName As String strLowerKeyWord = "xca" strUpperKeyWord = UCase(strLowerKeyWord) strFolderName = "C:\Hoge\" strLowerFileName = Dir(strFolderName & "*" & strLowerKeyWord & "*.*") Do While strLowerFileName <> "" strUpperFileName = Replace(strLowerFileName, strLowerKeyWord, strUpperKeyWord) Name strFolderName & strLowerFileName As strFolderName & strUpperFileName strLowerFileName = Dir() Loop End Sub