कमांड प्रॉम्प्ट के साथ सभी फ़ोल्डरों की फ़ाइलों को मूल निर्देशिका में स्थानांतरित करें


8

मेरे पास इस तरह कई फ़ोल्डर्स में .rar फाइलें हैं:

C:\Docs\Folder1\rarfile1-1.rar
C:\Docs\Folder1\rarfile1-2.rar
C:\Docs\Folder1\rarfile1-3.rar  

C:\Docs\Folder2\rarfile2-1.rar
C:\Docs\Folder2\rarfile2-2.rar
C:\Docs\Folder2\rarfile2-3.rar  

C:\Docs\Folder3\rarfile3-1.rar
C:\Docs\Folder3\rarfile3-2.rar
C:\Docs\Folder3\rarfile3-3.rar  

मैं सभी .rar फ़ाइलों को मूल निर्देशिका 'C: \ Docs' में ले जाना चाहता हूँ। मेरे पास 3 से अधिक फ़ोल्डर्स हैं, इसलिए मैं एक बैच फ़ाइल या कुछ बनाने की सोच रहा था। ऐसा करने की आज्ञा क्या होगी?
धन्यवाद


मैंने एक समान मुद्दे की तलाश की और मुझे यह उत्तर उपयोगी लगा।
— लालथोमस

जवाबों:


15

मैंने सिर्फ एक कमांडलाइन एप्लिकेशन बनाया है जो वास्तव में ऐसा करता है (प्लस कुछ आंकड़े दिखाता है) और यह देखने के लिए कि क्या कोई ऐसा करने की कोशिश कर रहा है, तो मैं इसे साझा कर सकता हूं और किसी को इसे पता लगाने से बचा सकता हूं।

लिखने में बहुत मजा आता था। .NET 3.5 की आवश्यकता है, कमांडलाइन से काम करता है, -h के साथ कॉल करता है या उपयोग के लिए कोई पैरामीटर नहीं है।

MoveFilesUpFromSubfolders
(स्रोत कोड)

प्रतिक्रिया एक प्लस! :)

ओह, और स्क्रीनशॉट कैसा दिखता है:

                               


3
+1 किसी की समस्या को हल करने के लिए एक कार्यक्रम लिखना। यही प्रतिबद्धता है!
— ली-आंग येप

1
@ Li-aungYip आपको बधाई के लिए बहुत बहुत धन्यवाद! इसके अलावा, परिस्थितियों के कारण, मेरे पास अब हार्ड ड्राइव नहीं है जहां मैं उस समय में कोड बनाता था जब मैंने इसे बनाया (इसे खो दिया और कई अन्य चीजें), इसलिए मैं इसे यहां देखकर बहुत खुश हूं और अब इसे डाउनलोड कर लिया है ( कुछ डाउनलोड के साथ इसे लंबे समय तक संग्रहीत करने के लिए Mediafire के लिए यश, और मैं भाग्यशाली हूं कि मैंने इसे मेगाअपलोड में संग्रहीत नहीं किया है!)। इसलिए यदि आप इसे परिप्रेक्ष्य में रखते हैं, तो आप जितना अधिक प्राप्त करेंगे :) :)
— कैमिलो मार्टिन

अच्छा कार्य! +1 और 50 प्रतिनिधि। मुझे पता है कि यह 4.5 साल पुराना है, लेकिन यह मेरे लिए बहुत उपयोगी था क्योंकि मैंने 90+ फ़ाइलों को डाउनलोड किया जो 90+ फ़ोल्डरों में गई। इससे मुझे सभी फाइलों को इसके मूल फ़ोल्डर में रखने में मदद मिली।

मेरे पास एकमात्र समालोचना यह है कि जब मैंने इसका उपयोग करने की कोशिश की, तो फ़ोल्डर के साथ एक समस्या के बारे में एक त्रुटि सामने आती रही, और यह क्यों बताया गया। केवल -t कमांड का उपयोग करके, मैं यह निर्धारित करने में सक्षम था कि फ़ोल्डर के साथ कोई समस्या क्यों थी (क्योंकि यह 250+ वर्णों के साथ नाम दिया गया था)। यह आसानी से सभी फ़ोल्डरों को हाइलाइट करके और उनमें से एक का नाम बदलकर (फिर बाकी को एक नंबर के साथ जोड़ दिया जाएगा) आसानी से किया जाता है।

@ edmastermind29 मुझे यह जानकर बहुत खुशी हुई कि मेरा इतना पुराना कोड अभी भी किसी के लिए उपयोग में है। मानो या न मानो, स्रोत कोड संग्रह को कॉपीराइट उल्लंघन के रूप में चिह्नित करने के लिए मीडियाफायर से दूर ले जाया गया था (जो कि बहुत ही बेतुका है, यह देखते हुए कि कोई वीडियो या ऑडियो नहीं है, लेकिन सिर्फ पाठ है), और मैं इस बारे में अवगत हूं कि यह कैसे बना । अगर यह किसी काम का है, तो इस समय मैं इस तरह की समस्या से निपटने के लिए एक बैश-लाइनर लिखूंगा, जैसे कुछ mv dir/sub/* dir; rmdir dir/subलूप में हो।
— कैमिलो मार्टिन

7

इसे आजमाइए:

for /d %f in (docs\*) do (
pushd %f
move .\*.* ..
popd
)

क्या आप इसे थोड़ा और समझा सकते हैं?
— निक 16

@ निक: सभी फोल्डर में docs, फोल्डर डालें। सभी फाइलों को करंट फोल्डर से पैरेंट फोल्डर में ले जाएं। मूल फ़ोल्डर में लौटें।
— हैलो'१

pushdऔर popdवास्तव में आवश्यक नहीं है। cdठीक काम करेगा।
— नमस्ते'१

जैसा कि Hello71 द्वारा समझाया गया है। इसके अलावा, एक ही लाइन के साथ किया जा सकता है:for /d %f in (docs\\*) do move %f\\*.* docs
— BillP3rd

1
एनबी। डुप्लिकेट फ़ाइल नामों के साथ न तो ऊपर का मूल और न ही वन-लाइनर ठीक से निपटेगा।
— BillP3rd

5

वैसे, आपके प्रश्न का उत्तर बहुत ही सरल है। इसकी स्क्रिप्ट नहीं, लेकिन यह होगा।

मैंने मान लिया कि आप खिड़कियां चला रहे हैं।

  • अपने आप को C: \ Docs निर्देशिका में रखें
  • F3 दबाएँ (खोज)
  • * .Rar के लिए खोजें
  • Crtl + A दबाएं
  • Ctrl + X दबाएं
  • खोज विंडो बंद करें और एक फिर से एक्सप्लोरर में C: \ Dosc पर जाएं
  • CTRL + V दबाकर फ़ाइलों को काटें।

किसी भी 3 पार्टी या स्क्रिप्ट के बिना अच्छा और सरल समाधान के लिए +1।
— साइकुर रहमान

+ 1 सबसे अच्छा और सबसे तेज़ तरीका ए +++
— सिकस्ट

3

सक्शन ने इस मुद्दे पर मेरे लिए काम किया।

सक्शन एक नि: शुल्क, पोर्टेबल ऐप है जो कुछ ही समय में गन्दे फ़ोल्डरों को छाँटने में मदद करेगा।

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


0

उप-निर्देशिका से एकल निर्देशिका में फ़ाइलों की प्रतिलिपि बनाने या स्थानांतरित करने के उदाहरण

for / f "tokens = *"% a ('dir "C: \ Temp \ Epub * .epub" / s / b') कॉपी / y "% a" C: \ Temp \ epub करें।

for / f "tokens = *"% a ('dir "C: \ Temp \ Epub * .epub" / s / b') चाल / y "% a" C: \ Temp \ epub

"टोकन = * विशेष वर्णों के साथ पथ कैप्चर करना है


-1

यह काम करना चाहिए:

move C:\Docs\*\* C:\Docs

2
मुझे त्रुटि मिलती है: फ़ाइल नाम, निर्देशिका नाम या वॉल्यूम लेबल सिंटैक्स गलत है।
— निक

** काम नहीं किया
— निक

आपको यह सुनिश्चित करने की ज़रूरत है कि आप `\` को अंदर रखें, और यह आपके टेक्स्ट एडिटर द्वारा बच नहीं रहा है।
— हैलो'१

CMD प्रॉम्प्ट (विंडोज 7 में) से यह कमांड जारी करना निक द्वारा बताई गई त्रुटि उत्पन्न करता है।
— BillP3rd

यह काम नहीं करेगा। * फ़ोल्डर्स के लिए ठीक से काम नहीं करता है। कुल कमांडर की तरह तीसरे पक्ष के कार्यक्रमों को तोड़ना होगा।
— सरफ़राज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.