2012-02-16 12 views
37

Voglio comprimere una cartella contenente i file. Quindi, per farlo, ho bisogno di scorrere l'intero elenco di file ed eseguire il comando 7za. (Versione da riga di comando 7zip)%% A era inatteso in questo momento

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

Tuttavia Windows dice che questo comando non è valido.

messaggio di errore è

%%A was unexpected at this time 

Come faccio a superare questo problema?

risposta

59

%%A viene utilizzato quando si utilizza un programma batch (* .bat)

provare rimuovere uno '%'

+0

Yup che ha aiutato, e c'è anche un punto da notare, è necessario mettere il comando dir/b all'interno della regione tra parentesi – klijo

+0

hai salvato la vita :) – VenomVendor

+0

Inoltre si dovrebbe notare che non è possibile utilizzare qualcosa come% file sembra. Sembra che solo una singola lettera sia consentita per parametro. – fschmitt

3

Se si sta facendo dalla riga di comando, non c'è bisogno di sfuggire al%, quindi %a è sufficiente. Hai solo bisogno di usare %%a da file batch.

Inoltre, si desidera selezionare i file anziché eseguire "G: \ Files Sample \ zip \ txt \ *. Txt" come comando, ovvero ciò che fa l'interruttore /f in combinazione con virgolette singole. Il comando completo sarebbe: for %A in ("G:\Files Sample\zip\txt\*.txt") do 7za -tzip "%A.zip" "%A"

0

Provalo in un file batch.

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

Aggiungi /R come opzione per cercare i file in tutto sottocartella.

Una buona spiegazione di metodi cmd- si potrebbe trovare a ss64

Problemi correlati