Cú pháp cho một vòng lặp FOR trong tệp bó Windows là gì?
Cú pháp cho một vòng lặp FOR trong tệp bó Windows là gì?
Câu trả lời:
FOR %%A IN (list) DO command parameters
danh sách là một danh sách của bất kỳ yếu tố nào, được phân tách bằng dấu cách, dấu phẩy hoặc dấu chấm phẩy.
lệnh có thể là bất kỳ lệnh nội bộ hoặc bên ngoài, tệp bó hoặc thậm chí - trong OS / 2 và NT - một danh sách các lệnh
tham số chứa các tham số dòng lệnh cho lệnh. Trong ví dụ này, lệnh sẽ được thực thi một lần cho mọi phần tử trong danh sách, sử dụng tham số nếu được chỉ định.
Một loại tham số đặc biệt (hoặc lệnh chẵn) là %% A, sẽ được thay thế bởi mỗi phần tử từ danh sách liên tiếp.
Từ vòng lặp FOR
FOR /L %x IN (1,1,100) DO ...
[ parameters ]
nếu bạn muốn bao gồm nhiều dòng trong for
vòng lặp của mình
Nếu bạn muốn làm điều gì đó x lần, bạn có thể làm điều này:
Ví dụ (x = 200):
FOR /L %%A IN (1,1,200) DO (
ECHO %%A
)
1,1,200
có nghĩa:
Kiểu:
for /?
và bạn sẽ nhận được một vài trang văn bản trợ giúp.
Có điều kiện thực hiện một lệnh nhiều lần.
cú pháp-FOR-Files
FOR %%parameter IN (set) DO command
cú pháp-FOR-Files-Rooted tại Path
FOR /R [[drive:]path] %%parameter IN (set) DO command
cú pháp FOR-Folders
FOR /D %%parameter IN (folder_set) DO command
cú pháp-FOR-Danh sách số
FOR /L %%parameter IN (start,step,end) DO command
nội dung cú pháp-FOR-File
FOR /F ["options"] %%parameter IN (filenameset) DO command
hoặc là
FOR /F ["options"] %%parameter IN ("Text string to process") DO command
cú pháp-FOR-Command Kết quả
FOR /F ["options"] %%parameter IN ('command to process') DO command
Nó
%%G
bằng với một phần của dữ liệu đóNếu bạn đang sử dụng lệnh FOR tại dòng lệnh thay vì trong chương trình bó, chỉ sử dụng một dấu phần trăm: %G
thay vì %%G
.
CHO tham số
Tham số đầu tiên phải được xác định bằng một ký tự đơn, ví dụ chữ G.
FOR %%G IN
...
Trong mỗi lần lặp của vòng lặp FOR, IN ( ....)
mệnh đề được ước tính và %%G
được đặt thành một giá trị khác nhau
Nếu mệnh đề này dẫn đến một giá trị đơn thì %% G được đặt bằng giá trị đó và lệnh được thực hiện.
Nếu mệnh đề dẫn đến nhiều giá trị thì các tham số phụ được xác định ngầm định để giữ từng giá trị. Chúng được tự động gán theo thứ tự bảng chữ cái %%H %%I %%J
... (định nghĩa tham số ngầm)
Nếu tham số tham chiếu đến một tệp, thì tham chiếu biến nâng cao có thể được sử dụng để trích xuất tên tệp / đường dẫn / ngày / kích thước.
Tất nhiên bạn có thể chọn bất kỳ chữ cái nào của bảng chữ cái khác hơn %%G
. nhưng nó là một lựa chọn tốt vì nó không xung đột với bất kỳ chữ cái định dạng tên đường dẫn nào (a, d, f, n, p, s, t, x) và cung cấp các chữ cái không xung đột dài nhất để sử dụng làm tham số ẩn .
%a%
đưa ra tên của một tập tin thông thường? Thật khó để giúp bạn với định dạng này. Hãy hỏi một câu hỏi mới sau khi đọc Làm thế nào để hỏi .
So for example in a reference like %%~fG the %%G is the FOR parameter, and the ~f is the Parameter Expansion.
rồi (tại đây) [ ss64.com/nt/syntax-args.html ), cảm ơn bạn. Cổ vũ người bạn đời.
FOR
sẽ cung cấp cho bạn bất kỳ thông tin nào bạn cần biết về các vòng lặp FOR, bao gồm các ví dụ về cách sử dụng hợp lý.
Hãy thử mã này:
@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
là số được tăng lên và num2
là giá trị được thêm vào num1
và terminator là giá trị num1
kết thúc. Bạn có thể chỉ ra giá trị khác nhau cho terminator trong câu lệnh này ( if %num1%==%terminator% goto close
). Đây là biểu thức boolean goto close là quá trình nếu boolean là true và goto open là quá trình nếu boolean là false.
@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
Từ FOR /?
tài liệu trợ giúp:
FOR% biến IN (set) Lệnh DO [tham số lệnh]
% biến Chỉ định một tham số có thể thay thế một chữ cái.
(bộ) Chỉ định một bộ gồm một hoặc nhiều tệp. Ký tự đại diện có thể được sử dụng. lệnh Chỉ định lệnh để thực hiện cho mỗi tệp.
tham số lệnh
Chỉ định tham số hoặc chuyển đổi cho lệnh được chỉ định.
Để sử dụng lệnh FOR trong chương trình bó, chỉ định biến %% thay vì
biến%. Tên biến là trường hợp nhạy cảm, vì vậy% i khác
với% I.
Nếu Tiện ích mở rộng lệnh được bật, các
hình thức bổ sung sau của lệnh FOR được hỗ trợ:
Biến FOR / D% IN (set) Lệnh DO [tham số lệnh]
If set contains wildcards, then specifies to match against directory
names instead of file names.
FOR / R [[drive:] path]% biến IN (set) lệnh DO [tham số lệnh]
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.
Biến FOR / L% IN (bắt đầu, bước, kết thúc) Lệnh DO [tham số lệnh]
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)