数字、スペース、名前で構成されるファイル名があります。たとえば、"023 filename1.txt"
。
そのようなファイルの名前を変更するバッチスクリプトを作成したいと思います。サブ文字列を識別し、スペース文字の前にあるすべてのものを削除する必要があります。たとえば、"023 filename1.txt"
名前はに変更され"filename1.txt"
ます。
これを行う方法をバッチファイルで説明してください。
数字、スペース、名前で構成されるファイル名があります。たとえば、"023 filename1.txt"
。
そのようなファイルの名前を変更するバッチスクリプトを作成したいと思います。サブ文字列を識別し、スペース文字の前にあるすべてのものを削除する必要があります。たとえば、"023 filename1.txt"
名前はに変更され"filename1.txt"
ます。
これを行う方法をバッチファイルで説明してください。
@echo off
setlocal EnableDelayedExpansion
for %%a in (*.txt) do (
set newName=%%a
ren "%%a" "!newName:* =!"
)
この部分: "!newName:* =!"
「newName 変数を取り、その値の先頭からスペースまで何もないものに置き換える」、つまり先頭から最初のスペースまでを削除することを意味します。
これは、実行するコマンドのみをエコーします。実際に名前を変更するには、3 行目のエコーを削除します。
@echo off
for %%F in (*.txt) do (
for /F "tokens=1,*" %%I in ("%%F") do echo ren "%%F" "%%J"
)
最初for
はすべてのファイルを反復処理し.txt
ます。
2 番目for
は、各ファイル名を最初の番号と残りの番号に分割しますtokens=1,*
。 %I
番号を取得し (無視されます) %J
、新しいファイル名を取得します。