1

数字、スペース、名前で構成されるファイル名があります。たとえば、"023 filename1.txt"

そのようなファイルの名前を変更するバッチスクリプトを作成したいと思います。サブ文字列を識別し、スペース文字の前にあるすべてのものを削除する必要があります。たとえば、"023 filename1.txt"名前はに変更され"filename1.txt"ます。

これを行う方法をバッチファイルで説明してください。

4

2 に答える 2

2
@echo off
setlocal EnableDelayedExpansion
for %%a in (*.txt) do (
   set newName=%%a
   ren "%%a" "!newName:* =!"
)

この部分: "!newName:* =!"「newName 変数を取り、その値の先頭からスペースまで何もないものに置き換える」、つまり先頭から最初のスペースまでを削除することを意味します。

于 2012-07-15T19:10:20.427 に答える
1

これは、実行するコマンドのみをエコーし​​ます。実際に名前を変更するには、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、新しいファイル名を取得します。

于 2012-07-15T19:19:37.443 に答える