大量のファイル (名前が異なる) から最初の 6 文字を削除するスクリプトを作成する必要があります。別の質問からこの例を試しましたが、よりよく理解したいと思います:
@echo off
setlocal enabledelayedexpansion
set X=3
for %%f in (*) do if %%f neq %~nx0 (
set "filename=%%~nf"
set "filename=!filename:~%X%,-%X%!"
ren "%%f" "!filename!%%~xf"
)
popd
-%X%! で X を変更していることがわかります。実際には、フォルダー内のすべてのファイルから最初の X 文字をトリミングします。~%X% が何なのかわかりません。0 より大きい数値でない場合、スクリプトが実行されないことがわかります。また、セット X=3 が何であるかもわかりません-batファイルに存在するかどうかに違いがないことしかわかりません。このファイルの構文を教えてください。
前もって感謝します!