2010-01-08 19 views
67

मेरे पास एक निर्देशिका है जिसके लिए मैं वाली सभी .doc फ़ाइलों को सूचीबद्ध करना चाहता हूं।विंडोज बैच फ़ाइल में तारों को कैसे जोड़ना है?

मैं निम्नलिखित बैच आदेश इको सभी फाइलों को जानते हैं:

for /r %%i In (*.doc) DO echo %%i 

लेकिन अब मैं उन सब को, एक चर में डाल के बीच में एक ; जोड़ सकते हैं और उन्हें एक बार में गूंज करना चाहते हैं।
मैं यह कैसे कर सकता हूं?

set myvar="the list: " 
for /r %%i In (*.doc) DO <what?> 
echo %myvar% 

उत्तर

58

किस बारे:

@echo off 
set myvar="the list: " 
for /r %%i in (*.doc) DO call :concat %%i 
echo %myvar% 
goto :eof 

:concat 
set myvar=%myvar% %1; 
goto :eof 
+2

धन्यवाद इस उत्तर के लिए एक बहुत करने के लिए! इसने मुझे बैच फ़ाइल में गतिशील रूप से एक वर्गपाथ बनाने में समस्या हल की :) आवश्यक संशोधनों को जोड़ना, लेकिन मेरी समस्या कंसट कर रही थी और इससे इसे ठीक कर दिया गया है! – Charliemops

43

, आप तो यह है कि वर को सही ढंग env चर (प्रकार "मदद setlocal" या "मदद cmd") के देरी से विस्तार करने के लिए सक्षम करने की आवश्यकता है रूबेंस 'समाधान के आधार

@echo off 
setlocal enabledelayedexpansion 
set myvar=the list: 
for /r %%i In (*.sql) DO set myvar=!myvar! %%i, 
echo %myvar% 

इसके अलावा निम्नलिखित प्रतिबंध पर विचार (MSDN):

पाश में मूल्यांकन 10

अधिकतम व्यक्तिगत वातावरण परिवर्तनीय आकार 8192bytes है।

+1

प्रतिबंध गलत है। विंडोज़ में अधिकतम पर्यावरण परिवर्तनीय आकार लगभग 64 केबी है, इसलिए लगभग 32k वर्ण हैं। बैच फ़ाइलों में, हालांकि, आपको समस्या है कि अधिकतम कमांड लाइन लंबाई 81 9 0 वर्ण है, इसलिए आपके द्वारा सेट किए गए प्रत्येक पर्यावरण चर को कम होना चाहिए। इसके अलावा, 65 कीबी कुल पर्यावरण प्रतिबंध फर्जी है। मैंने समस्याओं के बिना कुछ एमआईबी में कुल पर्यावरण चर बनाया है। – Joey

+2

लिंक 65 हजारों केबी कहते हैं, जो 64 एमबी के बराबर होगा। हालांकि मैं बहस नहीं करूंगा, क्योंकि मैंने कभी इसका सामना नहीं किया था। – devio

+1

वाह आपको बहुत बहुत धन्यवाद! आपने मेरा दिन बनाया :-) – Julien

0

ध्यान दें कि चर @fname या @ext को आसानी से संयोजित किया जा सकता है। यह:

forfiles /S /M *.pdf /C "CMD /C REN @path @[email protected]" 

सभी पीडीएफ फाइलों का नाम बदलता है "filename_old.pdf"

संबंधित मुद्दे