2012-07-30 17 views
7

मैंने बैच स्क्रिप्ट बनाने की कोशिश की थी जो डी: \ छवियों (यादृच्छिक नामित उपफोल्डर यहां) में स्थित सभी * .tif फ़ाइलों को प्रतिलिपि बनाता है: \ all।सबफ़ोल्डर से विंडोज फ़ोल्डर बैच प्रतिलिपि फ़ाइलों को एक फ़ोल्डर

xcopy D:\Downloads\*.TIF D:\temp\ /s 

काम करता है, लेकिन यह सभी फ़ोल्डर पेड़ के साथ प्रतिलिपि बनाता है। मैंने अन्य चाबियों का उपयोग करने की कोशिश की, लेकिन यह काम नहीं करता है। मदद के लिए धन्यवाद!

उत्तर

26

FOR आपका मित्र है। /R विकल्प और %~nx परिवर्तनीय प्रतिस्थापन पर पढ़ें; और फिर यह बहुत ही सरल कोड आज़माएं।

pushd d:\downloads 
    for /r %%a in (*.tif) do (
    echo COPY "%%a" "d:\temp\%%~nxa" 
    ) 
    popd 

सावधानीपूर्वक परिणाम देखें और फिर ECHO कमांड को हटा दें।

आप त्रुटियों, नकली नाम, धार मामलों, आरक्षित वर्ण, दौड़ की स्थिति, ब्रह्मांडीय घटनाओं के साथ नाम से निपटने के लिए कोड को परिष्कृत करना होगा ...

+0

धन्यवाद, मुझे यही चाहिए! –

+1

अल्पविराम के साथ अलग फाइल पैटर्न! एक .bat बनाएं और '% 1' और' d: \ temp \ %% ~ nxa' के साथ 'd: \ Downloads' को'% 2' के साथ बदलें। फिर आपके पास पुन: प्रयोज्य कमांड होगा, मैंने अपना ड्रॉपबॉक्स \ bin PATH में रखा है, इसलिए मैं इसे अपने सभी कंप्यूटरों में उपयोग कर सकता हूं। एक महान बल्ले स्क्रिप्ट, धन्यवाद! – caiohamamura

0

तुम भी XXCOPY फ्रीवेयर उपयोग कर सकते हैं। XCOPY की तरह काम करता है, लेकिन जब आप एक/एसजी पैरामीटर का उपयोग करते हैं, तो यह उप-निर्देशिकाओं को फ़्लैट करता है। इसे देखें here का उपयोग कैसे करें।

2
pushd D:\Source 
    for /r %%a in (*.?*) do (
     MOVE "%%a" "D:\Destination folder\%%~nxa" 
    ) 
popd 
+0

यह सब सबफ़ोल्डर से सभी फाइलें ले जाएगा और उन्हें गंतव्य फ़ोल्डर में ले जायेगा, आप – Stur

3

उदाहरण के लिए विंडोज फ़ाइल एक्सप्लोरर का उपयोग करके खोजें की गई फ़ाइलें * .gif, मुझे खोज विंडो में फाइलें मिलीं, संपादित करें => सभी का चयन करें, कॉपी करें और फिर वांछित फ़ोल्डर में पेस्ट करें। इसने सभी उप-निर्देशिकाओं में सभी gif फ़ाइलों को एकल फ़ोल्डर में कॉपी किया। बड़ी संख्या में फाइलों के लिए, यह कभी-कभी लटकता/प्रतिक्रिया नहीं देता है, लेकिन अन्यथा ठीक काम करता है।

+0

की प्रतिलिपि बनाने के लिए कदम भी बदल सकते हैं यह वास्तव में ऐसा करने का एक आसान तरीका है! :) – user3640967

संबंधित मुद्दे