2010-12-05 11 views
11

फ़ोल्डर c:\folder1subfolder1, subfolder2, आदि शामिल हैं ..सीएमडी का उपयोग कर सभी उपनिर्देशिकाओं से अपने माता-पिता से विशिष्ट एक्सटेंशन के साथ सभी फ़ाइलों को कैसे स्थानांतरित करें?

ये उपनिर्देशिका .pdf और .db फ़ाइलें पकड़ो।

विंडोज कमांड दुभाषिया का उपयोग कर .pdf फ़ाइलों को c:\folder1 पर कैसे स्थानांतरित किया जा सकता है?

+1

के बारे में किसी भी संकेत के लिए शीर्ष-स्तरीय फ़ोल्डर के लिए उन्हें खींचें

  • जवाब आप के लिए देख रहे किसी भी विशेष प्रोग्रामिंग भाषा के साथ ऐसा करते हैं? –

  • +0

    क्षमा करें, मुझे इसका उल्लेख करना चाहिए था। सीएमडी का उपयोग कर एमएस-डॉस में। – mihai

    उत्तर

    1

    बस यहाँ अंधेरे में एक जंगली चाकू ले जा, लेकिन अगर मैं सही ढंग से याद डॉस globs संभाल कर सकते हैं और mv के बराबर MOVE है, इसलिए:

    MOVE C:\FOLDER1\*\*.PDF C:\FOLDER1\

    +0

    मैंने 'प्रतिलिपि बी: \ * \ *। * सी: \ temp \ cdrw \ 'की कोशिश की और यह त्रुटि मिली:' फ़ाइल नाम, निर्देशिका नाम, या वॉल्यूम लेबल वाक्यविन्यास गलत है। ' – Ryan

    1
    MOVE "C:\FOLDER 1\PDF FILES\*.pdf" "C:\FOLDER 1" 
    MOVE "C:\FOLDER 1\DB FILES\*.db" "C:\FOLDER 1" 
    

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

    इसके अलावा, यदि आप इन आदेशों के साथ .bat फ़ाइल बना सकते हैं, तो आप चाहते हैं। ऐसा करने के लिए, नोटपैड में अपने आदेश पेस्ट और बजाय .bat के रूप में सहेज .txt

    उसके बाद, आप फ़ाइल डबल-क्लिक कर सकते हैं और यह फ़ाइल के भीतर हर बार जब आप कर आदेश पर अमल करेंगे। यह उपयोगी है यदि आपके पास कोई दोहराव वाले कार्य हैं जिनके लिए इसकी आवश्यकता है।

    4

    मुझे नहीं लगता कि एक वाइल्डकार्ड है जो उपफोल्डर्स पर काम करेगा, इसलिए आप प्रत्येक सबफ़ोल्डर के माध्यम से जाने और * .pdf को स्थानांतरित करने के लिए एक लूप का उपयोग करना चाहते हैं;

    FOR /R [your root folder path] %%G IN (*.pdf) DO move %%G [new path]

    आदेश करने के बाद अपने आप ही उद्धरण में स्वाभाविक है। आप अपने स्रोत या गंतव्य में रिक्त स्थान की आशा है, दोहरे उद्धरण चिह्नों का उपयोग उन्हें, चारों ओर %% जी उद्धरण संपुटित करने के लिए उदा .:

    FOR /R "source folder with spaces" %%G IN (*.pdf) DO move "%%G" "dest path with spaces"

    नोट, इन पथ को हल करने चाल आदेश के लिए आवश्यक हैं।

    ** संपादित करें: स्वीकार किए जाते हैं जवाब के जवाब में, आदेश से Windows XP और विंडोज 7, क्रमशः पर संकेत देता है:

    command prompts

    यह दिखाता है कि एक वाइल्डकार्ड रास्तों में काम नहीं करता, केवल के लिए एक निर्देशिका में फ़ाइलें (जैसे सी: \ फ़ोल्डर *। फाइलें)। जब वाइल्डकार्ड का सामना करना पड़ता है तो कमांड प्रॉम्प्ट पुनरावर्तित रूप से संचालित नहीं होता है।

    +0

    यह सभी सबफ़ोल्डर के माध्यम से जाएगा, द्वारा रास्ता, न केवल पहली शाखा। – Eaglebird

    +0

    WinXP और Win7 पर संकेतों से: (गलत पोस्ट, इसे अनदेखा करें) – Eaglebird

    +0

    आप सही हैं, पोस्टर एक रिकर्सिव समाधान चाहता है जिसे मैं गलत करता हूं। –

    5

    ओपी के लिए दो साल बहुत देर हो चुकी थी, लेकिन जैसा कि कुछ ऐसा था जिसे मैं हल करने की कोशिश कर रहा था, मैंने सोचा कि मैं वंशावली के लिए समाधान पोस्ट करूंगा। लूप के लिए बाहरी कार्यशील निर्देशिका में उप-निर्देशिका सूचीबद्ध करता है, लूप के लिए आंतरिक गंतव्य पथ पर जाने के लिए उप-निर्देशिका सूचीबद्ध करता है।

    for /d %f in (*.*) do for /d %e in (%f\*.*) do move "%e" DestinationPath 
    

    यह सबसे अच्छा काम करता है, तो DestinationPath, कार्यशील निर्देशिका का एक सबफ़ोल्डर नहीं है, क्योंकि यह अपने आप में DestinationPath स्थानांतरित करने के लिए कोशिश करेंगे।

    for /d %f in (*.*) do for /d %e in (%f\*.*) do echo move "%e" DestinationPath 
    

    और कॉपी/इसे चलाने के लिए परिणामों में से एक पेस्ट करें और इस बात की पुष्टि जिस तरह से आप उम्मीद काम किया:

    यह थोक चलाने से पहले आदेश की पुष्टि के लिए, बस इतना की तरह अंतिम कदम आदेशों गूंज से शुरू । फिर गूंज हटाएं और आगे बढ़ें।

    +0

    में काम नहीं कर रहा है यह उपनिर्देशिका के नामों में रिक्त स्थान –

    18

    यह मेरे लिए काम किया

    यह आदेश स्रोत से रिकर्सिवली अल पीडीएफ फाइलों को कॉपी जाएगा विंडोज 7 में cmd ​​का उपयोग कर निर्देशिका लक्षित करने के लिए - परीक्षण किया है और

    काम करता है/r "c: \ source_directory \" के लिए% % x में (* .pdf) के लिए कदम है "%% x" "c: \ target_directory \"

    आशा है कि यह मदद करता है

    +4

    % x पर्याप्त है, %% x बैच फ़ाइल – Floni

    +0

    के लिए है मुझे लगता है कि 'for/r "b: \"% x in (* .mp3) कॉपी करें "% x" "c: \ temp \ cdrw" 'काम करता है लेकिन यह नहीं जानता कि यह सबफ़ोल्डर को संभालता है या नहीं। – Ryan

    0

    लड़ी मेरे लिए चमत्कार किया:

    robocopy c:\cache c:\cache-2012 ?????-2012*.hash /S /MOV 
    

    मैंने इसे c:\cache और इसकी कई उप-निर्देशिकाओं से बाहर कुछ मास्क के साथ सभी फ़ाइलों को स्थानांतरित करने के लिए उपयोग किया।

    3

    मुझे पता है कि यह अति उत्साही है, लेकिन अगर यह किसी की मदद करता है।

    इस प्रयुक्त एक .mkv फ़ाइल के लिए सभी उप-फ़ोल्डर खोज और उन्हें वर्तमान निर्देशिका बैच फ़ाइल में रहता है के लिए ले जाने के लिए।

    FOR /D /r %%F in ("*") DO (
        pushd %CD% 
        cd %%F 
         FOR %%X in (*.mkv) DO (
          move "%%X" "%CD%" 
         ) 
        popd 
    ) 
    
    0
    @echo on 
    
    for /r "F:\All_drawings\newdrg\" %%x in (*.tiff) do move "%%x" "F:\Alldrawings" 
    
    pause 
    

    {चाल सभी फाइलों newdrg फ़ोल्डर और उसकी से लक्ष्य फ़ोल्डर Alldrawings पर "सब-फ़ोल्डर्स", यह आदेश दोनों स्थानों पर कमांड लाइन उपयोग एकल "%" के लिए बैच फ़ाइल ऑपरेशन के लिए है।

    0

    वहाँ एक और तरीका है Windows Explorer में यह करने के लिए है (जीयूआई, शीघ्र आदेश नहीं): शीर्ष-स्तरीय निर्देशिका

  • ऊपरी दाएं भाग में खोज बॉक्स में, प्रकार के

    • नेविगेट * .pdf और हिट खोज
    • सभी फ़ाइलों का चयन करें और अधिलेखन फ़ाइलों