दिलचस्प पोस्ट
सी ++ अनाम स्ट्रैक्ट्स और यूनियनों को अस्वीकार क्यों करता है? पीडीओ के साथ पंक्ति गिनती पायथन स्ट्रिंग में सभी श्वेतस्थान को निकालता है onBitmapLoaded लक्ष्य ऑब्जेक्ट पहले लोड पर नहीं बुलाया मैं कैसे एक चरित्र bash में दोहरा सकते हैं? एचटीएमएल में "सभी का चयन करें" चेक बॉक्स कैसे कार्यान्वित करें? एकाधिक __init__ तर्कों के साथ प्यूथन ट्यूपल को उप-क्लासेस करना ओरेकल 9i रिक्त स्ट्रिंग को नल के रूप में क्यों लेता है? रेगीक्स को घुंघराले ब्रेसिज़ के बीच की स्ट्रिंग पाने के लिए "{मुझे घुंघराले ब्रेसिज़ के बीच क्या चाहिए}" सारटेबल मॉडेल जीयूआई प्रदर्शन मुद्दा jQuery: मौजूदा <ul> में <li> कैसे जोड़ें? ग्रिड दृश्य आइटम वर्ग बनाना MongoDB डेटाबेस फ़ाइल आकार को कम करना उपयोगकर्ता इनपुट स्ट्रिंग को नियमित अभिव्यक्ति में रूपांतरित करना फेंक और नए अपवाद फेंकने में अंतर ()

बैच स्क्रिप्ट के साथ निर्देशिका में प्रत्येक फ़ाइल में कुछ कैसे करें

आप प्रत्येक फ़ाइल पर एक .bat या .cmd फ़ाइल के साथ निर्देशिका में पुनरावृति कैसे करते हैं?

सादगी के लिए कृपया एक उत्तर प्रदान करें जो कि फ़ाइल नाम या फ़ाइल पथ को घूमता है।

वेब के समाधान से एकत्रित समाधान "बैच स्क्रिप्ट के साथ निर्देशिका में प्रत्येक फ़ाइल में कुछ कैसे करें"

कमांड लाइन उपयोग:

for /f %f in (`dir /bc:\`) do echo %f 

बैच फ़ाइल उपयोग:

 for /f %%f in (`dir /bc:\`) do echo %%f 

अद्यतन : यदि निर्देशिका में नामों में स्थान के साथ फ़ाइलें हैं, तो आपको सीमांकक को for /f कमांड के लिए उपयोग करना है। उदाहरण के लिए, आप पाइप चार का उपयोग कर सकते हैं।

 for /f "delims=|" %%f in ('dir /bc:\') do echo %%f 

अपडेट 2 : (मूल उत्तर 🙂 के तुरंत बाद एक वर्ष और एक आधा) यदि नाम के स्थान पर निर्देशिका नाम का स्थान है, तो आप इसके लिए usebackq विकल्प का उपयोग कर सकते हैं:

 for /f "usebackq delims=|" %%f in (`dir /b "c:\program files"`) do echo %%f 

और अगर आपको आउटपुट रीडायरेक्शन या कमान पाइपिंग का उपयोग करने की आवश्यकता है, तो भागने के चार ( ^ ) का उपयोग करें:

 for /f "usebackq delims=|" %%f in (`dir /b "c:\program files" ^| findstr /i microsoft`) do echo %%f 

वैकल्पिक रूप से, उपयोग करें:

 forfiles /s /m *.png /c "cmd /c echo @path" 

फोर्फ़ाइल कमांड विंडोज विस्टा और विंडोज 7 में उपलब्ध है।

आसान तरीका:

कमांड लाइन से, उपयोग करें:

 for %f in (*.*) do echo %f 

बैच फ़ाइल से (%% चिन्हों को दोहराएं):

 for %%f in (*.*) do echo %%f 

1 पैरामीटर के रूप में निर्दिष्ट फ़ोल्डर के साथ एक बैच फ़ाइल से:

 for %%f in (%1\*.*) do echo %%f 

उपयोग

 for /r path %%var in (*.*) do some_command %%var 

साथ में:

  • पथ प्रारंभिक मार्ग है
  • %% var कुछ पहचानकर्ता हैं
  • *। * एक फ़ाइलमास्क या एक चर की सामग्री
  • some_command पथ के साथ निष्पादित करने के लिए आदेश और var पैरामीटर के रूप में संमिलित किया जा रहा है।

% एफ में (*। एमपी 4) के लिए कॉल करें ffmpeg -i "% ~ f" -vcodec copy -acodec copy "% ~ nf.avi"

मेरे पास कुछ मैलवेयर था जो सभी फ़ाइलों को छिपी / सिस्टम / केवल पढ़ने के रूप में निर्देशिका में चिह्नित करता था यदि कोई अन्य इस स्थिति में खुद को पाता है, सीडी को निर्देशिका में और for /f "delims=|" %f in ('forfiles') do attrib -s -h -r %f चलाएं for /f "delims=|" %f in ('forfiles') do attrib -s -h -r %f for /f "delims=|" %f in ('forfiles') do attrib -s -h -r %f