Cú pháp cho vòng lặp FOR trong tệp bó Windows là gì?Làm thế nào để bạn lặp trong một tập tin batch Windows?
Trả lời
FOR %%A IN (list) DO command parameters
danh sách là danh sách của bất kỳ yếu tố, cách nhau bằng một trong hai không gian, của dấu phẩy hoặc dấu chấm phẩy.
lệnh thể được bất kỳ lệnh, tập tin nội bộ hay bên ngoài hàng loạt hoặc thậm chí - trong OS/2 và NT - một danh sách các lệnh
thông số chứa các thông 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 các tham số nếu được chỉ định.
Một loại tham số đặc biệt (hoặc thậm chí lệnh) là %% A, sẽ được thay thế bởi từng phần tử trong danh sách liên tiếp.
Từ FOR loops
Loại:
for /?
và bạn sẽ nhận được một vài trang văn bản trợ giúp.
Tôi thích điều này hơn câu trả lời được chấp nhận bởi vì nó xử lý các phiên bản khác nhau của DOS/Windows. "Đối với" đã được tăng cường khá đáng kể, trong những năm qua, và câu hỏi không nói những gì phiên bản (s) là (đang) đang được nhắm mục tiêu cũng không phải những gì kịch bản đang được cố gắng. –
Nếu bạn muốn làm một cái 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 là:
- Bắt đầu = 1
- I ncrement mỗi bước = 1
- End = 200
Cảm ơn bạn đã thêm. Có thể rõ ràng hơn nếu bạn thay đổi giá trị bắt đầu trong ví dụ của bạn thành một cái gì đó khác với số gia tăng. –
Giá trị cuối cùng được bao gồm. –
FOR
sẽ cung cấp cho bạn bất kỳ thông tin mà bạn sẽ cần phải biết về CHO vòng, trong đó có những ví dụ về việc sử dụng thích hợp.
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ị gia tăng để num1
và terminator là giá trị nơi num1
sẽ 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.
Bạn không thể sử dụng lệnh 'FOR'? –
@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
Điều kiện thực hiện 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 Đường dẫn
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 -list 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
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ó
- Hãy tập hợp các dữ liệu
- Thực hiện một CHO Parameter
%%G
bằng một số phần của dữ liệu - Thực hiện một lệnh (tùy chọn sử dụng các tham số như là một phần của lệnh).
- -> Lặp lại cho mỗi mục dữ liệu
Nếu bạn đang sử dụng các lệnh FOR tại dòng lệnh chứ không phải là trong một chương trình hàng loạt, sử dụng chỉ là một phần trăm dấu: %G
thay vì %%G
.
cho các thông số
Tham số đầu tiên phải được xác định bằng một ký tự, ví dụ như thư G.
FOR %%G IN
...Trong mỗi lần lặp của một CHO vòng lặp, mệnh đề
IN (....)
được đánh giá và%%G
đặt thành một giá trị khác nhauNếu mệnh đề này dẫn đến một giá trị duy nhất 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 thông số bổ sung được xác định ngầm định để giữ mỗi 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ì có thể sử dụng tham chiếu biến nâng cao để trích xuất tên tệp/đường dẫn/ngày/kích thước.
Bạn có thể chọn bất kỳ chữ cái nào trong bảng chữ cái ngoài
%%G
.nhưng nó là một lựa chọn tốt vì nó không xung đột với bất kỳ ký tự định dạng đường dẫn nào (a, d, f, n, p, s, t, x) và cung cấp các ký tự không xung đột dài nhất để sử dụng làm tham số ngầm .
Từ FOR /?
giúp đỡ doc:
CHO biến% TRÊN (set) DO lệnh [lệnh thông số]
% biến Chỉ định một tham số có thể thay thế chữ cái.
(bộ) Chỉ định một tập hợp một hoặc nhiều tệp. Có thể sử dụng các ký tự đại diện. lệnh Chỉ định lệnh để thực hiện cho mỗi tệp.
thông số lệnh
Chỉ định thông số hoặc công tắc cho lệnh được chỉ định.
Để sử dụng lệnh FOR trong chương trình theo lô, hãy chỉ định %% variable thay vì
của% biến. Tên biến phân biệt chữ hoa chữ thường, vì vậy% i khác
từ% I.
Nếu lệnh Extensions được kích hoạt, thêm
hình thức sau đây của lệnh FOR được hỗ trợ:
FOR/D% biến TRÊN (set) DO lệnh [lệnh thông số]
If set contains wildcards, then specifies to match against directory
names instead of file names.
FOR/R [[drive:] path]% biến IN (set) DO command [command-parameters]
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.
FOR/L% variable IN (bắt đầu lệnh DO [lệnh tham số]
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)
- 1. Làm thế nào để nối chuỗi trong tập tin batch windows cho vòng lặp?
- 2. Làm thế nào để thiết lập thư mục làm việc của một lệnh trong một tập tin batch Windows?
- 3. của Windows batch - xóa một tập tin ẩn
- 4. Echo chuỗi chính xác trong tập tin batch của Windows?
- 5. Làm thế nào để ghi đè lên một file văn bản từ một tập tin batch
- 6. của Windows tập tin batch để xóa svn tập tin và thư mục
- 7. Tập tin batch của Windows NẾU thất bại - Làm thế nào có thể 30000000000000 bằng 40000000000?
- 8. Cài đặt Windows Service với tập tin batch?
- 9. Làm thế nào để nối chuỗi trong một tập tin thực thi Windows?
- 10. Làm thế nào để echo "2" (không có dấu ngoặc kép) vào một tập tin, từ một tập lệnh batch?
- 11. Cygwin chạy tập lệnh từ một tập tin batch?
- 12. Làm thế nào để Powershell chạy một tập tin batch và sau đó vẫn mở?
- 13. Lệnh ngủ trong tập tin batch?
- 14. gọi các tập tin batch trong nant
- 15. Làm thế nào để °, ± & ² tạo ra ░, ▒ & ▓ trong tập tin batch này?
- 16. Làm thế nào để viết lệnh gọi trong tập tin batch có điều kiện?
- 17. LÀM THẾ NÀO để EXIT sử dụng "bắt đầu" trong các tập tin batch của MSDOS
- 18. Chạy tập tin batch trong vb.net?
- 19. % ~ d0 có nghĩa là gì trong một tập tin batch của Windows?
- 20. Làm thế nào để chấm dứt một tập tin batch của cửa sổ từ bên trong một thói quen 'call'ed?
- 21. Làm thế nào để đọc nội dung tập tin vào một biến trong một tập tin thực thi?
- 22. Làm thế nào để tạo tập tin batch để đổi tên một số lượng lớn các tập tin trong một thư mục?
- 23. chuỗi Parsing trong tập tin batch
- 24. Làm cách nào để kiểm tra kích thước tệp trong tập lệnh batch của Windows?
- 25. Tạo một tập tin batch để sao chép và đổi tên tập tin
- 26. Chạy một tập tin batch mỗi x giây bằng PowerShell
- 27. Đọc một giá trị từ một tập tin trong tập lệnh batch của cửa sổ
- 28. Làm thế nào để bạn sử dụng SETLOCAL trong một tập tin thực thi?
- 29. Làm thế nào để bạn phát hiện khi một tập tin được thay đổi trong iCloud?
- 30. Làm thế nào để gửi một email đơn giản từ một tập tin thực thi Windows?
Đây là kết quả đầu tiên cho "vòng lặp tệp hàng loạt" trong Google. Nó làm cho nó trở thành một vòng lặp vô hạn? một tìm kiếm đệ quy? Tôi bối rối! – Ben