• ベストアンサー

ファイル名の変換

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であれば多少は理解できます

質問者が選んだベストアンサー

  • ベストアンサー
  • yonfa
  • ベストアンサー率52% (22/42)
回答No.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)

回答No.1

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