किसी फ़ाइल को निर्देशिका में डॉस में कॉपी कैसे करें, और यदि आवश्यक हो तो निर्देशिका बनाएं?


37

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

उदाहरण के लिए, इस स्थान पर पहले से ही एक फ़ाइल है।

C:\file.txt

और मैं इसे कॉपी करना चाहता हूं

C:\example\new\path\to\copy\of\file\file.txt

लेकिन इस समय

C:\example\

और सभी उपनिर्देशिकाएं अभी तक अस्तित्व में हैं या नहीं हो सकती हैं।

मूल रूप से, मैं एक "प्रतिलिपि की तलाश कर रहा हूं और यदि आवश्यक हो तो लक्ष्य पथ बनाएं"। आप इसे प्राप्त करने का सबसे अच्छा तरीका क्या होगा?


क्या यह सवाल वास्तव में DOS (या MS-DOS) के बारे में है, या यह NT आधारित विंडोज संस्करणों (2000, XP, Vista, 7, 8, सर्वर) में पाई गई कमांड लाइन के बारे में है?
बॉब

मेरा मतलब था डॉस-जैसे विंडोज सीएलआई। आपको क्या सलाह है कि पोस्ट शीर्षक के लिए "डॉस-जैसे विंडोज सीएलआई" का वर्णन करने का सबसे अच्छा तरीका है?
नोडोमेक

आम तौर पर, मैं प्रयोग करेंगे Windows command lineशीर्षक / शरीर में, टैग के साथ खिड़कियों और कमांड लाइन (ध्यान दें कि cmd.exe का टैग पर्याय है कमांड लाइन )। एमएस-डॉस टैग को हटा दिया जाना चाहिए; और टैग डॉस का उपयोग किसी भी परिस्थिति में बिल्कुल भी नहीं किया जाना चाहिए।
बॉब

हालाँकि, इस मामले में, मौजूदा / स्वीकृत उत्तर DOS / MS-DOS के लिए होने के कारण, आप इसे छोड़ भी सकते हैं। भविष्य के संदर्भ के लिए, डॉस / को ऑपरेटिंग सिस्टम के रूप में व्याख्या की जानी चाहिए। जबकि विंडोज कमांड लाइन उन पर आधारित है, कुछ उल्लेखनीय अंतर हैं।
बॉब

आप इसे cmd प्रॉम्प्ट कह सकते हैं
बार्लोप

जवाबों:


28

हाँ, यह xcopy है । यहाँ है कि यह कैसा दिखेगा:

xcopy file.txt c:\example\new\path\to\copy\of\file\file.txt

XCOPY की जानकारी

आप ROBOCOPY में XP संसाधन किट और मानक विस्टा, विंडोज 7 और सर्वर 2008 में देखना चाहते हैं ।

robocopy . c:\example\new\path\to\copy\of\file file.txt

3
यदि आपको अपनी फ़ाइल का नाम बदलने की आवश्यकता नहीं है, तो भी xcopy ठीक है। यदि आप करते हैं, दुर्भाग्य से xcopy आपसे पूछेगा कि क्या गंतव्य एक निर्देशिका या फ़ाइल नाम है और "यह एक फ़ाइल है" निर्दिष्ट करने के लिए कोई कमांड-लाइन स्विच नहीं है।
1

4
अन्य उत्तर देखें - echo f | स्वचालित रूप से इस संकेत का उत्तर देने के लिए xcopy के साथ पूर्ववर्ती का उपयोग करें ।
mcw0933

ध्यान दें कि गंतव्य पथ के अंत में एक स्लैश वर्ण, `` होना चाहिए। अन्यथा कमांड उपयोगकर्ता को इस बारे में संकेत देगा कि गंतव्य मौजूद है या फाइल मौजूद है या नहीं।
Lii

17

मैंने कुछ इस तरह इस्तेमाल करने की कोशिश की:

xcopy file.txt c:\example\new\path\to\copy\of\file\file.txt

लेकिन यह मुझसे पूछेगा कि क्या यह एक फ़ाइल या निर्देशिका थी। चूँकि मेरे पास 40000 फाइलों वाली बैच फाइल थी, इसलिए यह अव्यावहारिक होगा। यह समाधान केवल आंशिक रूप से मेरी समस्या को हल करता है: यह निर्देशिका संरचना बनाता है, लेकिन इसके लिए उपयोगकर्ता सहभागिता की आवश्यकता होती है। मुझे अपनी समस्या का हल यहां मिला:

https://stackoverflow.com/questions/4283312/batch-file-asks-for-file-or-folder

जो मूल रूप से गंतव्य फ़ाइल के अंत में "*" जोड़ना है:

xcopy file.txt c:\example\new\path\to\copy\of\file\file.txt*

EDIT: जैसा कि @romkyns द्वारा बताया गया है, इसके अवांछित परिणाम हो सकते हैं यदि आपके पास ऐसी फाइलें हैं जिनका नाम समान है और कुछ और (जैसे 'file.txt.bak')। ऊपर लिखे एक ही सूत्र में, एक और उपाय जो काम करता है वह है "echo f" को आपके कमांड में पाइप करना:

echo f | xcopy file.txt c:\example\new\path\to\copy\of\file\file.txt

यदि आप अपने सिस्टम को फ़ाइल के लिए जो भी अक्षर उपयोग करते हैं, उसके लिए आपको "एफ" का विकल्प देना चाहिए, यदि आप इसे किसी अन्य भाषा में उपयोग कर रहे हैं ..


1
जो केवल तभी काम करता है जब file.txt.bakनिर्देशिका में नहीं है, बिल्कुल। फिर भी, यह कुछ परिदृश्यों में काम कर सकता है।
रोमनस्ट्रीम

@romkyns सच। इसे पोस्ट करने के कुछ महीनों बाद, मैंने खुद को उसी समस्या का सामना किया और "इको एफ" समाधान किया, यह बहुत अच्छा काम करता है। मेरे उत्तर का संपादन ...
एमएसबी

1
इसके साथ echo f | , आपको अब अनुगामी की आवश्यकता नहीं है *
mcw0933

1
दूसरा फ़ाइल नाम बेमानी है कि यह एक ही है। "xcopy file.txt c: \ example \ new \ path \ to \ copy \ of \ file \" जब तक निर्देशिका में अनुगामी स्लैश काम करेगा (अन्यथा यह पूछता है कि क्या या तो एक फ़ाइल या एक निर्देशिका वीज़ का मतलब है) ।
चौदहवें

3

डॉस, वाह! वैसे भी आप XCOPY कमांड का उपयोग करते हैं ।


1
4 साल पर: हाँ। डॉस हम सभी अभी भी इसका उपयोग करते हैं भले ही पावरशेल मौजूद है
श्री एएच

0

चाहे copyया xCopyकिसी त्रुटि से बचने के लिए copyया किसी प्रॉम्प्ट से xCopy, आवश्यक फ़ोल्डर के अस्तित्व के लिए परीक्षण करें और यदि आवश्यक हो तो इसे बनाएं:

if not exist "NewPath" MkDir "NewPath"
copy "[path\]file.ext" "NewPath[\NewFileName.ext]"

या &&एक कमांड लाइन के साथ कमांड को संयोजित करें :

if not exist "NewPath" MkDir "NewPath" && copy "[path\]file.ext" "NewPath[\NewFileName.ext]"

के moveबजाय एक ही काम किया जा सकता है copy। मैंने इस तकनीक के बारे में StackOverflow के उत्तर से सीखा कि इसे कैसे करना है move

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