![CMD を使用してファイルの名前を「Track ?.mp3」から「T00?.mp3」に変更する方法](https://rvso.com/image/1400500/CMD%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%90%8D%E5%89%8D%E3%82%92%E3%80%8CTrack%20%3F.mp3%E3%80%8D%E3%81%8B%E3%82%89%E3%80%8CT00%3F.mp3%E3%80%8D%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
次のような複数の mp3 ファイルがあります:
Track [number of track].mp3
例: Track 1.mp3
-Track 11.mp3
名前を次のように変更します:
T00[number of track]
例: T001.mp3
-T011.mp3
私は次のようにして 1 ~ 9 のトラックの名前を変更しようとしました:
ren "Track ?.mp3" "T00 ?.mp3"
しかし、ファイル名にスペースがあります(T00 1.mp3
)
更新:スペースを削除するコードを書こうとしています。これが私のコードです
@echo off
setlocal enabledelayedexpansion
for /r %%G in ("T00 ?.mp3") do (
pause
echo -----------------------In loop----------------------------
echo Working with "%%G"
pause
set str=%%G
echo str is = "%str%"
pause
set str=%str: =0% //replace " " with 0
echo 2str is = "%str%"
pause
ren "%%~G" "%str%"
)
私が受け取ったメッセージは次のとおりです:
-----------------------In loop----------------------------
working with "C:\test\T00 1.mp3"
str = ""
2str = ""
A duplicate file name exists, or the file
cannot be found.
.
.
.
何が間違っているのか分かりません。バッチスクリプトを使うのは初めてです。
答え1
PowerShellを使用する正規表現の置換そしてフォーマット文字列
$strPath = "C:\my\folder\*.mp3"
Get-Childitem $strPath | ForEach-Object {
$onlyNumbers = $_.Basename -replace ".*\D+",""
$WithZeros = "{0:D3}" -f [int]$onlyNumbers
$fileName = "T$WithZeros.mp3"
Rename-Item $_ $fileName
}
重要な部分は、-replace "^\D+",""
ファイル名の先頭(拡張子を除く)から数字以外の文字をすべて検索して削除する です。次に、スクリプトは を使用して必要な数のゼロを追加します"{0:D3}" -f
。残りは簡単です。
読む両方 リンクされたさらに詳しく知りたい場合は、情報源を参照してください。
Old name New name
Track 1.mp3 T001.mp3
Track 11.mp3 T011.mp3
Track 111.mp3 T111.mp3
編集:小さな正規表現の間違いを修正しました。以前は に99 ballons 01.mp3
なりましたT9901.mp3
。
今は01 » 001 » T001.mp3
答え2
Linux または Mac OSX を使用して問題を解決したい場合は、次の操作を実行できます。
count=1
for i in $(ls -v); do
number=$(printf "%05d" $count)
((count++))
mv $i T00$number.mp3
done
このコマンドで以前に作成した25個のファイルでテストしました。
for ((i=1; i<=25; i++)); do touch "Track $i.mp3"; done
答え3
これが役立つ場合は、Total Commander (Windows) に優れた複数名前変更ツールがあります (目的のファイルを選択してから Ctrl + M)。