Saya pikir saya kehilangan sesuatu karena saya tidak dapat menemukan apa artinya ini.
Contoh: untuk / D %% A di (*) lakukan "\ 7za.exe" u -t7z -m9 = LZMA2 "%% A.7z" "%% A"
Baris itu seharusnya menggunakan versi baris perintah 7zip untuk mengkompres folder individual, tapi saya bingung apa arti %% A dalam konteks ini.
command-line
batch
batch-file
7-zip
Jim Kieger
sumber
sumber
Jawaban:
Itu
for
perintah membutuhkan placeholder sehingga Anda bisa meneruskan variabel untuk digunakan nanti dalam kueri, kami mengatakan itu menggunakan placeholder%A
, alasan kode yang Anda lihat digunakan%%A
karena di dalam file batch (yang saya asumsikan di mana Anda menemukan ini) itu%
memiliki makna khusus, jadi Anda harus melakukannya dua kali%%
jadi itu akan berubah menjadi satu%
untuk diteruskan kefor
perintahUntuk benar-benar memecah apa yang dilakukan perintah, ada dua bagian dari perintah:
Apa yang dikatakan bagian ini adalah untuk setiap folder dalam folder saat ini jalankan perintah berikut untuk mengganti
%%A
dengan nama folder yang sedang diproses.Apa yang dikatakan bagian ini adalah menjalankan perintah
"\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"
dan ganti keduanya%%A
Dengan catatan saat ini kami sedang memproses.sumber
Itu variabel.
Contoh khusus itu menggunakan opsi direktori loop FOR , mengulangi melalui direktori dan menugaskannya ke %% A.
Itu juga bukan contoh baris perintah, tetapi contoh file kumpulan. Dalam file batch, Anda perlu menggunakan %% A, sedangkan pada baris perintah, Anda hanya akan menggunakan% A.
sumber
Dalam skenario Anda, %% A adalah pengganti untuk apa loop "untuk" berulang (yang / D menunjukkan direktori). Jadi setiap iterasi dari loop, %% A adalah salah satu direktori.
Anda akan melihat %% daripada% dalam kode batch. Anda akan melihat% alih-alih %% digunakan di command prompt Anda.
Jadi ketahuilah bahwa jika Anda menyalin kode file batch ke dalam prompt perintah dan menjalankannya dengan %% yang digunakan, itu akan kesalahan, dan sebaliknya.
sumber