ファイル名内の特定の文字列を変更するスクリプトがあります(ファイルは「my_folder」に保存されます):
Set objFso = CreateObject("Scripting.FileSystemObject")
Set Folder = objFSO.GetFolder("g:\my folder")
For Each File In Folder.Files
sNewFile = File.Name
sNewFile = Replace(sNewFile,"._epf","_v0_1._epf")
if (sNewFile<>File.Name) then
File.Move(File.ParentFolder+"\"+sNewFile)
end if
Next
「g:\my folder」の下にフォルダーがない場合、スクリプトは正常に機能します。そうでない場合、「my folder」にフォルダーがあり、それらのフォルダーの 1 つ (または複数) の名前がファイル名に似ている場合、スクリプト置換文字列を乗算するなどの望ましくない結果を引き起こします。
たとえば、「私のフォルダー」に次のものが含まれているとします。
こんにちは(フォルダ)
hello_.epf (ファイル)
その後、スクリプトは最終的にファイル名を次のように変更します。
hello_v0_1_v0_1._epf (望ましくない結果)
そして、私は結果を次のようにしたい:
hello_v0_1._epf
この方法で迅速に助けていただければ幸いです。ありがとう。