2010-06-01 8 views
24

हैलो मैं किसी भी निर्देशिका से एमपी 3 के साथ समाप्त होने वाली सभी फ़ाइलों के पूर्ण पथ को दोबारा सूचीबद्ध करना चाहता हूं जिसे सापेक्ष निर्देशिका के रूप में दिया जाना चाहिए।विंडोज़ .bat फ़ाइल कैसे प्रकार की सभी फाइलों को दोबारा सूचीबद्ध करने के लिए * .mp3

मैं फिर भी फाइल से निर्देशिका को पट्टी करना चाहता हूं और मैंने पढ़ा है कि वेरिएबल्स जो कि स्कोप में हैं, को संलग्न किया जाना चाहिए! क्या वह सही है?

मेरे वर्तमान कोड इस तरह दिखता है:

for /r %%x in (*.mp3) do ( 
    set di=%%x 
    echo directory !di! 
    C:\bla.exe %%x !di! 
) 

धन्यवाद!

उत्तर

61

आदेश DIR ...

dir /s/b *.mp3 

के बारे में ... उपरोक्त आदेश वर्तमान पथ और यह बच्चों के सभी खोज करेंगे कैसे। कैसे इस आदेश के लिए एक कमांड विंडो खोलें और टाइप DIR /?

+0

धन्यवाद! और अब मुझे उस भाग के साथ एक चर – clamp

+1

शुभकामनाएं में प्रत्येक पंक्ति की आवश्यकता होगी। 'FOR' कमांड देखें। –

+0

@MatthewWhited वेबसाइटें ऑफ़लाइन हैं। क्या आप इसे ठीक कर सकते हैं? – minimen

1

आप के साथ एक फ़ाइल '> [filename]' के लिए परिणाम जोड़ सकते हैं का उपयोग करने के बारे में अधिक जानकारी प्राप्त करने के लिए

5

इस बैच फ़ाइल दर्शाता है कि कैसे एक के तत्वों को निकालने के लिए एक लूप में परिवर्तनीय से फ़ाइल नाम। इसे listfiles.bat के रूप में सहेजें, फिर "listfiles कुछ \ folder * .mp3" चलाएं। मैंने बैच फ़ाइल में एक सबराउटिन के रूप में फ़ाइल ढूंढने की स्थापना की ताकि आप इसे अपनी स्क्रिप्ट में डाल सकें।

आप "के लिए /" भी चला सकते हैं कमांड पर अधिक जानकारी के लिए एक cmd खोल में।

@echo off 
setlocal enableextensions enabledelayedexpansion 
call :find-files %1 %2 
echo PATHS: %PATHS% 
echo NAMES: %NAMES% 
goto :eof 

:find-files 
    set PATHS= 
    set NAMES= 
    for /r "%~1" %%P in ("%~2") do (
     set PATHS=!PATHS! "%%~fP" 
     set NAMES=!NAMES! "%%~nP%%~xP" 
    ) 
goto :eof 
संबंधित मुद्दे