@echo
cd\
cd C:\Test\pdf
for /f "delims=" %%i in ('dir /b | findstr /E /R "\\BW RRI - [0-9]\.[0-9]\PAYMENT CONFIRMATION.pdf$"') do set "Filename=%%i" ren ("%FileName%" "test.pdf")
EXIT
ファイルを探して名前を変更するために、上記のバッチを実行しようとしています。ファイル名にはスペースがあります。コマンドプロンプトで次のコマンドを実行すると、正しいファイルが見つかりませんでした。正規表現を使用してファイルを検索して名前を変更するバッチファイル
dir /b | findstr /E /R "\\BW RRI - [0-9]\.[0-9]\PAYMENT CONFIRMATION.pdf$"
しかし、私はループの名前を変更するために使用すると動作しません。私は間違って何をしていますか?
なぜforループで%% iと%% aを使用するのですか?私はこれがあなたの誤りかもしれないと思う。 – Sascha
スタックオーバフローで貼り付けるときに名前を変更しようとしていたのは、タイプミスでした。私が%% iを使用しても、それはまだ動作しません。 – PPrat
実際に 'set'と' ren'コマンドは同じ行にありますか?あなたはそれをすることはできません。 – SomethingDark