ここ2年ぐらいやっている、原神などのプレイ動画のYoutube公開にあたり、作成した動画を長期保存する際に少し画質を落として一括エンコードしています。その作業にはペガシスの TMPGEnc Video Masatering Works 5を使っているのですが、まとめてエンコードするとファイル名に定形文字が入ってしまいます。これを取り除くのが面倒なので、2022年9月にVBScriptでぱぱっと改名するスクリプトを用意しました。
で、1年近く使っていたのですが、どうしたも「一度改名したフォルダーに、再度改名処理を掛けてファイル名が壊れる」という事態が起きていたので、ちょっと改良しました。変更点は「ファイル名冒頭がMovieの場合だけ処理対象とする」というものです。これだけで随分と安心感が増しますね。
rem TMPGEnc Video Mastering Works5でのバッチエンコードファイル群をリネームする Dim fileSystem Dim curFolder Dim eachFile Dim newName Set fileSystem = WScript.CreateObject("Scripting.FileSystemObject") Set curFolder = fileSystem.GetFolder(fileSystem.getParentFolderName(WScript.ScriptFullName)) rem フォルダー内の全ファイルについて処理実行 For each eachFile in curFolder.Files rem 誤実行に備えて先頭が「Movie」のファイルで、拡張子mp4のみを対象とする If Left(eachFile.Name,5)="Movie" Then If fileSystem.GEtExtensionName(eachFile.Name)="mp4" Then newName = Replace(Mid(eachFile.Name,11),").mp4",".mp4") eachFile.Name = newName End if End If Next