LoginSignup
Kakeishi_Misa
@Kakeishi_Misa

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

【バッチ】ファイル名を変更したいがコマンドが間違ているとエラーが出る

解決したいこと

バッチでzipファイル名を変更したいです。
現在のファイル名の頭に日付を付けたいです。

--想定イメージ--
リネーム前: test.zip
リネーム後: 20210918_test.zip

下記のコードを実行すると
「コマンドの構文が誤っています。」と
エラーになります。

renameの第1引数にはフルパス、第2引数にはファイル名のみを渡しています。
また、変数「YYYYMMDD」と「filename」までは正しく取得できていることを確認済みです。

 for %%f in (%*) do (
        REM 日付を取得
        SET YYYYMMDD=%date:/=%

        REM ファイル名取得
        SET filename=%%~nf

        REM ファイル名変更
        Set newfileName=%YYYYMMDD%_%filename%

        rename "%%f" "%newfileName%.zip"
 )
0

1Answer

Windowsのバッチ処理で、記述は間違っていないのにエラーになる場合

・バッチファイルの文字コードがSHIFT-JISではない
・バッチファイルの改行コードがCR+LFではない

というケースが多いです。

1

Comments

  1. @Kakeishi_Misa

    Questioner
    ありがとうございます。
    解決しました。

Your answer might help someone💌