जवाबों:
FOR %%A IN (list) DO command parameters
सूची किसी भी तत्व की एक सूची है, जिसे या तो रिक्त स्थान, अल्पविराम या अर्धविराम द्वारा अलग किया गया है।
कमांड किसी भी आंतरिक या बाह्य कमांड, बैच फ़ाइल या यहां तक कि - ओएस / 2 और एनटी में - कमांड की एक सूची हो सकती है
पैरामीटर में कमांड के लिए कमांड लाइन पैरामीटर शामिल हैं। इस उदाहरण में, यदि निर्दिष्ट किया गया है, तो मापदंडों का उपयोग करके सूची में प्रत्येक तत्व के लिए एक बार कमांड निष्पादित किया जाएगा।
एक विशेष प्रकार का पैरामीटर (या यहां तक कि कमांड) %% ए है, जिसे सूची से प्रत्येक तत्व द्वारा लगातार प्रतिस्थापित किया जाएगा।
से छोरों के लिए
FOR /L %x IN (1,1,100) DO ...
[ parameters ]
यदि आप अपने for
लूप में कई पंक्तियों को शामिल करना चाहते हैं, तो परिंदों को रखें
यदि आप कुछ एक्स बार करना चाहते हैं, तो आप यह कर सकते हैं:
उदाहरण (x = 200):
FOR /L %%A IN (1,1,200) DO (
ECHO %%A
)
1,1,200
माध्यम:
प्रकार:
for /?
और आपको सहायता पाठ के कई पृष्ठ मिलेंगे।
सशर्त रूप से कई बार कमांड करते हैं।
वाक्य रचना-लिए-फ़ाइलें
FOR %%parameter IN (set) DO command
सिंटैक्स-फ़ॉर-फाइल्स-रूट में निहित है
FOR /R [[drive:]path] %%parameter IN (set) DO command
वाक्य रचना-लिए-फ़ोल्डर
FOR /D %%parameter IN (folder_set) DO command
संख्याओं की वाक्य-रचना-सूची
FOR /L %%parameter IN (start,step,end) DO command
सिंटेक्स-फॉर-फ़ाइल सामग्री
FOR /F ["options"] %%parameter IN (filenameset) DO command
या
FOR /F ["options"] %%parameter IN ("Text string to process") DO command
सिंटेक्स-फॉर-कमांड परिणाम
FOR /F ["options"] %%parameter IN ('command to process') DO command
यह
%%G
उस डेटा के कुछ भाग के बराबर एक FOR पैरामीटर बनाएंयदि आप बैच प्रोग्राम के बजाय कमांड लाइन पर FOR कमांड का उपयोग कर रहे हैं, तो केवल एक प्रतिशत साइन का उपयोग करें: के %G
बजाय%%G
।
पैरामीटर्स के लिए
पहले पैरामीटर को एकल वर्ण का उपयोग करके परिभाषित किया जाना है, उदाहरण के लिए पत्र जी।
FOR %%G IN
...
फ़ोर लूप के प्रत्येक पुनरावृत्ति में, IN ( ....)
खंड का मूल्यांकन किया जाता है और%%G
एक अलग मान पर सेट किया जाता है
यदि यह खंड एकल मान में परिणामित होता है तो %% G उस मान के बराबर सेट हो जाता है और कमांड निष्पादित होता है।
यदि खंड एक से अधिक मानों में परिणत होता है, तो प्रत्येक को धारण करने के लिए अतिरिक्त मापदंडों को स्पष्ट रूप से परिभाषित किया जाता है। ये स्वचालित रूप से वर्णानुक्रम में निर्दिष्ट किए जाते हैं%%H %%I %%J
... (अंतर्निहित पैरामीटर परिभाषा)
यदि पैरामीटर किसी फ़ाइल को संदर्भित करता है, तो फ़ाइल नाम / पथ / दिनांक / आकार को निकालने के लिए बढ़ाया चर संदर्भ का उपयोग किया जा सकता है।
आप निश्चित रूप से वर्णमाला के किसी भी पत्र को छोड़ सकते हैं %%G
। लेकिन यह एक अच्छा विकल्प है क्योंकि यह पथनाम प्रारूप अक्षरों (ए, डी, एफ, एन, पी, एस, टी, एक्स) में से किसी के साथ संघर्ष नहीं करता है और निहित मापदंडों के रूप में उपयोग के लिए गैर-परस्पर विरोधी पत्रों का सबसे लंबा रन प्रदान करता है। ।
%a%
एक नियमित रूप से फ़ाइल का नाम दे रही है? इस प्रारूप में आपकी सहायता करना कठिन है। कैसे पूछें पढ़ने के बाद एक नया प्रश्न पूछने के लिए स्वतंत्र महसूस करें ।
So for example in a reference like %%~fG the %%G is the FOR parameter, and the ~f is the Parameter Expansion.
समझ गए (यहां) [ ss64.com/nt/syntax-args.html ), धन्यवाद। चीयर्स दोस्त।
FOR
आपको कोई भी जानकारी देगा, जिसे आपको उचित उपयोग पर उदाहरण सहित, छोरों के बारे में जानने की आवश्यकता होगी।
इस कोड को आज़माएं:
@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
वृद्धि की जाने वाली संख्या है और टर्मिनेटर में num2
जोड़ा जाने वाला मूल्य है num1
और वह मान है जहां num1
इच्छा समाप्त होगी। आप इस कथन में टर्मिनेटर के लिए अलग-अलग मान दिखा सकते हैं ( if %num1%==%terminator% goto close
)। यह बूलियन एक्सप्रेशन है गोटो क्लोज़ इस प्रक्रिया है अगर बूलियन सही है और गोटो ओपन प्रक्रिया है यदि बूलियन गलत है।
@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
से FOR /?
सहायता दस्तावेज़:
% चर के लिए IN (सेट) डीओ कमांड [कमांड-पैरामीटर्स]
% चर एकल अक्षर बदली पैरामीटर निर्दिष्ट करता है।
(सेट) एक या एक से अधिक फ़ाइलों का एक सेट निर्दिष्ट करता है। वाइल्डकार्ड का उपयोग किया जा सकता है। कमांड प्रत्येक फाइल के लिए कमांड को निर्दिष्ट करता है।
कमांड-पैरामीटर
निर्दिष्ट कमांड के लिए पैरामीटर या स्विच निर्दिष्ट करता है।
बैच प्रोग्राम में FOR कमांड का उपयोग करने के लिए,% वेरिएबल के बजाय
% वेरिएबल निर्दिष्ट करें । परिवर्तनीय नाम केस संवेदी हैं, इसलिए% I% I से भिन्न
है।
यदि कमांड एक्सटेंशन सक्षम हैं,
तो फ़ॉर कमांड के अतिरिक्त रूप समर्थित हैं:
के लिए / डी% चर में (सेट) डीओ कमांड [कमांड-पैरामीटर]
If set contains wildcards, then specifies to match against directory
names instead of file names.
For / R [[ड्राइव:] पथ]% चर IN (सेट) DO कमांड [कमांड-पैरामीटर]
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.
के लिए / L% चर IN (प्रारंभ, चरण, अंत) DO कमांड [कमांड-पैरामीटर]
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)