Jawaban:
FOR %%A IN (list) DO command parameters
daftar adalah daftar elemen apa pun, dipisahkan oleh spasi, koma, atau titik koma.
perintah dapat berupa perintah internal atau eksternal, file batch atau bahkan - dalam OS / 2 dan NT - daftar perintah
parameter berisi parameter baris perintah untuk perintah. Dalam contoh ini, perintah akan dieksekusi sekali untuk setiap elemen dalam daftar, menggunakan parameter jika ditentukan.
Tipe khusus parameter (atau bahkan perintah) adalah %% A, yang akan diganti oleh setiap elemen dari daftar secara berurutan.
Dari UNTUK loop
FOR /L %x IN (1,1,100) DO ...
[ parameters ]
jika Anda ingin memasukkan beberapa baris dalam for
loop Anda
Jika Anda ingin melakukan sesuatu x kali, Anda dapat melakukan ini:
Contoh (x = 200):
FOR /L %%A IN (1,1,200) DO (
ECHO %%A
)
1,1,200
cara:
Tipe:
for /?
dan Anda akan mendapatkan beberapa halaman teks bantuan.
Lakukan perintah secara kondisional beberapa kali.
sintaks-UNTUK-File
FOR %%parameter IN (set) DO command
sintaks-UNTUK-File-Diakar di Path
FOR /R [[drive:]path] %%parameter IN (set) DO command
sintaks-UNTUK-Folder
FOR /D %%parameter IN (folder_set) DO command
sintaks-UNTUK-Daftar angka
FOR /L %%parameter IN (start,step,end) DO command
sintaks-UNTUK-File konten
FOR /F ["options"] %%parameter IN (filenameset) DO command
atau
FOR /F ["options"] %%parameter IN ("Text string to process") DO command
sintaks-UNTUK-Perintah Hasil
FOR /F ["options"] %%parameter IN ('command to process') DO command
Itu
%%G
sama dengan beberapa bagian dari data ituJika Anda menggunakan perintah FOR di baris perintah daripada di program batch, gunakan hanya satu persen tanda: %G
alih-alih %%G
.
UNTUK Parameter
Parameter pertama harus didefinisikan menggunakan karakter tunggal, misalnya huruf G.
FOR %%G IN
...
Dalam setiap iterasi loop UNTUK, IN ( ....)
klausa dievaluasi dan %%G
diatur ke nilai yang berbeda
Jika klausa ini menghasilkan nilai tunggal maka %% G diset sama dengan nilai itu dan perintah dilakukan.
Jika klausa menghasilkan beberapa nilai, maka parameter tambahan ditentukan secara implisit untuk menampung masing-masing. Ini secara otomatis ditetapkan dalam urutan abjad %%H %%I %%J
... (definisi parameter implisit)
Jika parameter merujuk ke file, maka referensi variabel yang disempurnakan dapat digunakan untuk mengekstrak nama file / path / tanggal / ukuran.
Anda tentu saja dapat memilih huruf apa saja dari alfabet selain %%G
. tetapi ini adalah pilihan yang baik karena tidak bertentangan dengan salah satu format surat pathname (a, d, f, n, p, s, t, x) dan menyediakan jangka waktu terpanjang dari huruf yang tidak saling bertentangan untuk digunakan sebagai parameter implisit .
%a%
memberi nama file biasa? Sulit membantu Anda dengan format ini. Jangan ragu untuk mengajukan pertanyaan baru setelah membaca Bagaimana Mengajukan Pertanyaan .
So for example in a reference like %%~fG the %%G is the FOR parameter, and the ~f is the Parameter Expansion.
mengerti (di sini) [ ss64.com/nt/syntax-args.html ), terima kasih. Salut kawan.
FOR
akan memberi Anda informasi apa pun yang perlu Anda ketahui tentang loop FOR, termasuk contoh penggunaan yang tepat.
Coba kode ini:
@echo off
color 02
set num1=0
set num2=1
set terminator=5
:loop
set /a num1= %num1% + %num2%
if %num1%==%terminator% goto close
goto open
:close
echo %num1%
pause
exit
:open
echo %num1%
goto loop
num1
adalah angka yang akan ditambahkan dan num2
merupakan nilai tambah ke num1
dan terminator adalah nilai di mana num1
akan berakhir. Anda dapat menunjukkan nilai yang berbeda untuk terminator dalam pernyataan ini ( if %num1%==%terminator% goto close
). Ini adalah ekspresi boolean yang ditutup goto adalah proses jika boolean benar dan buka goto adalah proses jika boolean salah.
@echo off
echo.
set /p num1=Enter Prelim:
echo.
set /p num2=Enter Midterm:
echo.
set /p num3=Enter Semi:
echo.
set /p num4=Enter Finals:
echo.
set /a ans=%num1%+%num2%+%num3%+%num4%
set /a avg=%ans%/4
ECHO %avg%
if %avg%>=`95` goto true
:true
echo The two numbers you entered were the same.
echo.
pause
exit
Dari FOR /?
doc bantuan:
UNTUK% variabel IN (set) DO command [parameter-perintah]
% variabel Menentukan parameter yang dapat diganti satu huruf.
(set) Menentukan satu set file atau lebih. Wildcard dapat digunakan. command Menentukan perintah yang harus dilakukan untuk setiap file.
parameter-perintah
Menentukan parameter atau sakelar untuk perintah yang ditentukan.
Untuk menggunakan perintah FOR dalam program batch, tentukan %% variabel daripada
% variabel. Nama variabel peka huruf besar kecil, jadi% i berbeda
dari% I.
Jika Ekstensi Perintah diaktifkan,
bentuk tambahan berikut dari perintah FOR didukung:
FOR / D% variabel IN (set) DO command [parameter-perintah]
If set contains wildcards, then specifies to match against directory
names instead of file names.
FOR / R [[drive:] path]% variabel IN (set) DO command [parameter-perintah]
Walks the directory tree rooted at [drive:]path, executing the FOR
statement in each directory of the tree. If no directory
specification is specified after /R then the current directory is
assumed. If set is just a single period (.) character then it
will just enumerate the directory tree.
UNTUK / L% variabel IN (mulai, langkah, akhir) perintah DO [parameter-perintah]
The set is a sequence of numbers from start to end, by step amount.
So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would
generate the sequence (5 4 3 2 1)