2012-02-16 8 views
37

ファイルを含むフォルダを圧縮したいとします。だから私はファイルリスト全体をループして7zaコマンドを実行する必要があります。 (7zipコマンドラインバージョン)%% Aはこの時点で予期せぬことでした

for /f %%A in ('"G:\Files Sample\zip\txt\*.t 
xt"') do 7za -tzip "%%A.zip" "%%A" 

ただし、このコマンドは無効です。

エラーメッセージは、私はこの問題を克服するにはどうすればよい

%%A was unexpected at this time 

のですか?あなたは、バッチプログラムを使用すると

答えて

59

%%Aは、(* .BAT)

は、コマンドラインからそれをやっている場合は、%をエスケープする必要はありません1 '%'

+0

うんで見つけることができるcmd-方法の良い説明、また、注意すべき点があり、あなたはあなたが私の命を救った – klijo

+0

括弧領域の内側にDIR/bコマンドを配置する必要があります:) – VenomVendor

+0

また、%fileのようなものは使用できないことに注意してください。パラメータには1文字のみが許可されているようです。 – fschmitt

3

を削除しようとし使用されていますだから%aで十分です。バッチファイルからは%%aを使用する必要があります。

また、 "G:\ Files Sample \ zip \ txt \ *。txt"をコマンドとして実行する代わりに、ファイルを選択することをお勧めします。これは、スイッチがシングルクォーテーションと組み合わせて使用​​するものです。完全なコマンドは:for %A in ("G:\Files Sample\zip\txt\*.txt") do 7za -tzip "%A.zip" "%A"

0

バッチファイルで試してみてください。

FOR "G:\Files Sample\zip\txt\" %%G IN (*.txt) DO 7za -tzip "%%G.zip" "%%G" 

は、すべてのサブフォルダ内のファイルを検索するためのオプションとして/Rを追加します。

あなたが助けss64

関連する問題