3

バッチ ファイルを実行しており、その中に forfiles コマンドが 1 つあります。

FORFILES -p%spinputarchrootpath% -m*.csv -d-365 -c"CMD /C DEL @FILE"

%spinputarchrootpath% variable maps to a folder location (Y:\Temp Documents\testfolder).

上記のコマンドは、フォルダー名 (Temp Documents) にスペースがあるため、エラーをスローしています。

このスペースをどう処理するか。%spinputarchrootpath%変数を引用符で囲んでみましたが、うまくいきません。

4

4 に答える 4

3

パスを引用符で囲みます。

FORFILES -p "%spinputarchrootpath%" -m *.csv -d -365 -c "CMD /C DEL @FILE"

-pとの間にスペースがあることに注意してください"%spinputarchrootpath%"。この場合、スペースがないと機能しません。

于 2011-03-03T05:29:56.410 に答える
1

回避策として、まずディレクトリを目的のフォルダに変更してから、/p パラメータを指定せずに forfiles を実行します。

CD %spinputarchrootpath%
FORFILES -m*.csv -d-365 -c"CMD /C DEL @FILE"
于 2013-05-24T04:41:13.380 に答える
1

投稿を確認してください: FORFILES にパス上でコマンドを実行するように指示する方法は?

問題は次の部分にあります: -c"CMD /C DEL @FILE"

使用: -c"CMD /C DEL ^0x22@FILE^0x22" ファイルを二重引用符で囲む

于 2013-08-22T06:53:57.373 に答える