2012-12-01 19 views
5

मैं सभी उप फ़ोल्डरों को एक मास्टर फ़ोल्डर में कैसे स्थानांतरित करूं, लेकिन मास्टर फ़ोल्डर स्वयं नहीं। \ पुस्तक \ संगीत \मैं बैच फ़ाइल कैसे बना सकता हूं जो केवल उपनिर्देशिकाओं को स्थानांतरित करेगा, और मास्टर निर्देशिका

मैं मास्टर फ़ोल्डर को स्वयं ले जाने के लिए है क्योंकि मैं एक आई/ओ डिवाइस त्रुटि मिल रही है नहीं करना चाहती:

स्रोत पथ सी है।

ऐसा करने के लिए मैं किस कोड का उपयोग कर सकता हूं? कृपया, कृपया कोड आउट करें क्योंकि मैं कमांड लाइन वाला बच्चा हूं :)

उत्तर

2

यहां एक लंबी लिपि है, लेकिन इसे बहुत अच्छी तरह से काम करना चाहिए। यह "डीआईआर" का उपयोग करता है, लेकिन आप "फोर्फाइल" भी देख सकते हैं। फोर्फ़ाइल अधिक लचीला है, लेकिन वास्तव में इसका उपयोग करना मुश्किल है।

@echo off 
@rem USAGE: MoveDirs From To 

setlocal 

    set from="%~1" 
    set to="%~2" 

    if "%1"=="" goto :Usage 
    if "%2"=="" goto :Usage 


    for /f "delims=;" %%a in ('dir "%1" /ad /b ') do call :MoveIt "%1" "%2" "%%a" 

    goto :EOF 

:MoveIt 
    move "%~1\%~3" "%~2" > nul || echo Failed to move %3 to %2 & goto :EOF 
    echo Moved %3 to %2 
    goto :EOF 

:Usage 
    echo Usage: moveDirs.bat FromDirectory ToDirectory 
    goto :EOF 
+0

धन्यवाद @joeking जो पूरी तरह से काम करता है! आपने मुझे एक टन घंटे बचाया, और मेरी पत्नी की फाइलों का एक गुच्छा! – user1868173

+0

+1, यह ठीक काम करता है – fedmich

1

आप XCOPY पर भी पढ़ना चाहेंगे। आप फ़ाइलों की प्रतिलिपि बना सकते हैं, वे केवल खाली उपनिर्देशिकाएं नहीं हैं।

इसके बारे में और जानने के लिए कमांड की जांच करें।

xcopy /?