एकल निर्देशिका में xcopy फ़ाइलें


21

मैं एक निर्देशिका में .png एक्सटेंशन के साथ सभी फ़ाइलों को बाहर निकालने के लिए एक विंडोज़ मशीन पर xcopy का उपयोग करना चाहूंगा।

मैंने कोशिश की xcopy C:\folder\*.png /s C:\png\, लेकिन यह उप-निर्देशिकाओं को \ फ़ोल्डर में रख रहा है, (उदाहरण के लिए C: \ png में, C: \ png \ a \ b \ c \ img.png है) जो मुझे नहीं चाहिए। मैं बस C: \ png के अंदर सभी चाहता हूँ। इसके बिना वह निर्देशिका संरचना जो C: \ folder में थी, को बनाए रखे।


जवाबों:


39

यह अच्छे पुराने के साथ किया जा सकता है for:

for /r C:\Folder %f in (*.png) do @copy "%f" C:\png

कुछ भी आकर्षक नहीं।


यह काम करता हैं! यह समझाने के लिए कि क्या %fहै?
बोब्बोबो

यह लूप वेरिएबल है।
जोए

3
यह मेरे लिए काम नहीं किया, मैं के प्रभाव के लिए कुछ मिला है f" was unexpected at this time। काम %fकरने के लिए बदल रहा है %%f। हालाँकि, मैं इसे बैच फ़ाइल में चला रहा था: यदि आप बैच प्रोग्राम के बजाय कमांड लाइन पर For कमांड का उपयोग कर रहे हैं, तो %% G के बजाय केवल एक प्रतिशत साइन का उपयोग करें:% G। ss64.com/nt/for.html
ta.speot.is

1
उम्म, हाँ। यह अपेक्षित है और जैसा कि आपने उद्धृत किया है। मैं तुम्हारी उलझन कहाँ से आ रहा हूँ?
जॉय

1
@kayleeFrye_onDeck: जहां तक ​​मुझे पता है कि कोई विशेष चर नहीं हैं। केवल एक चीज जो मन को भाती है वह यह है कि अपरिचित लोग forदो अलग-अलग dचीजों के बारे में भ्रमित हो सकते हैं जैसे कि %~ddforप्रलेखन से बचने के भ्रम को चर के लिए पत्र अपरकेस उपयोग करने के लिए चलता है, लेकिन अभी भी प्रतिस्थापन चर नाम से स्पष्ट रूप से पहचाने हैं, मुझे लगता है।
जोए

1

यदि आपने साइबरविन स्थापित किया है, तो यह खोजने के लिए एक नौकरी होगी:

cp `find /cygdrive/c/folder/* -name '*png'` /cygdrive/c/png/

(हालांकि, अगर किसी भी फ़ाइल नाम में जगह है तो परेशानी होगी - आपको findकमांड के कुछ प्रकार मिलेंगे जो सभी परिस्थितियों में काम करेंगे हालांकि)

यदि आप विस्टा, 2003 या 2008 चला रहे हैं तो कम लचीला लेकिन फिर भी उपयोगी "फोरफाइल्स" आपका मित्र है। कुछ इस तरह:

FORFILES /P c:\folder\ /M *.png /S /C "cmd /c copy @file c:\png\"

नोट: मैंने उपरोक्त आदेशों में से किसी का भी परीक्षण नहीं किया है, लेकिन सिद्धांत रूप में उन्हें काम करना चाहिए ...


+1 केवल सत्यापित करता है कि FORFILES कमांड काम करती है। मैंने इसे दो बार चलाया और इसने 2 बार w / आउट प्रॉम्प्ट को कॉपी किया, इसलिए मुझे लगता है कि अगर यह डुप्लिकेट मिल जाए तो इसे ओवरराइट कर देता है।
हाइपरस्लग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.