পুরো ডিরেক্টরিটি (ডিরেক্টরি ফোল্ডার সহ) অন্য ডিরেক্টরিতে অনুলিপি করতে কমন্ড লাইন কমান্ড


68

কমান্ড লাইন ব্যবহার করে, আমি একটি ডিরেক্টরি অন্য ডিরেক্টরিতে অনুলিপি করতে চাই। উদাহরণস্বরূপ ডিরেক্টরি আছে C:/testএবং C:/test2

আমি কপি করতে চান সেটি C:/testমধ্যে C:/test2যাতে ফল কী হবেC:/test2/test

সবকিছু আমি পেয়েছি এতদূর শুধুমাত্র ফাইল এবং ফোল্ডার অন্তর্ভুক্ত কপি হবে C:/testমধ্যে C:/test2কিন্তু পেরেন্ট ডাইরেক্টরি খুঁজে ছেড়ে।


1
এক্সকপি ব্যবহার করার চেষ্টা করুন

উত্তর:


50

স্যুইচ XCOPYদিয়ে ব্যবহার করার চেষ্টা করুন /E। আরও তথ্য এখানে

বছরের পর বছর ধরে আমার মস্তিষ্ক থেকে এই তথ্যটি অ্যাক্সেস করতে হয়নি !

হালনাগাদ

ডকুমেন্টেশন বলছেন যে এটা কপি উৎস ডিরেক্টরি থেকে সকল ফাইল ও সাবডাইরেক্টরি (যার অর্থ পেরেন্ট ডাইরেক্টরি তৈরি করেন হয়), তাই আপনার তৈরি করতে হবে testসালে C:\test2প্রথম এবং তারপর ব্যবহার XCOPY


2
Xcopy- তে '/ টি' স্যুইচ কোনও ডিরেক্টরি ছাড়াই একটি ডিরেক্টরি এবং উপ-ডিরেক্টরি কাঠামোর অনুলিপি করবে।
এমএফজি

2
robocopy /CREATE /COPYALL /DCOPY:T src dstকেবল ফোল্ডার এবং খালি ফাইলগুলি অনুলিপি করা তবে সমস্ত টাইমস্ট্যাম্প এবং অন্যান্য বৈশিষ্ট্যগুলি সংরক্ষণ করার জন্য আরও ভাল ব্যবহার ।
ব্যবহারকারী 1016274

2
এটি আসলে প্রশ্নের উত্তর সরবরাহ করে না কারণ ফোল্ডারটি testএখনও নিস তৈরি করা দরকার।
ইগ্রাক

3
@ জিগ্রাচ আমি ভেবেছিলাম md testএবং তারপরে ব্যবহার xcopyকরা তুচ্ছভাবে স্পষ্ট।
ভিভিন

1
ভাল প্রশ্নটি হ'ল copyফোল্ডারটি নতুন ফোল্ডার তৈরি না করে এবং তারপরে কনটেন্টগুলি অনুলিপি করে।
ইগ্রাক

35
xcopy c:\test c:\test2\test /s /e /h

এখানে এক্সকোপি সম্পর্কিত তথ্য [ 1 , 2 ]


2
আমাকে "ডি" ইনপুট করতে জিজ্ঞাসা করা বন্ধ করবেন কীভাবে?
YumYumYum

2
@ ইয়াম ইয়িয়াম: আপনি / আমি স্যুইচটি ব্যবহার করতে পারেন: "/ আমি যদি গন্তব্য উপস্থিত না থাকে এবং একাধিক ফাইল অনুলিপি করে থাকে তবে ধরে নেওয়া যায় যে গন্তব্যটি অবশ্যই ডিরেক্টরি হতে হবে" "
থিজস তিজসমা

18

আপনি যদি ব্যাকআপ স্ক্রিপ্ট তৈরি করেন তবে রবকোপি ব্যবহার করুন। এক্সকপিটি অবচয় করা হয়েছে এবং অদূর ভবিষ্যতে সম্ভবত ব্যবহারের বাইরে চলে যাবে। রোবোকপি এক্সকপি করতে পারে সবকিছু করতে পারে। এটি আরও নমনীয় এবং নির্ভরযোগ্য। রোবোকপির সাহায্যে স্ক্রিপ্ট তৈরি করা তাদের ভবিষ্যত-প্রমাণ করবে।


  1. ফোল্ডারগুলি অনুলিপি করতে রোবকপি ব্যবহার করুন। রোবোকপি কমান্ডটি xcopy কমান্ডটি প্রতিস্থাপন করে। এটি সামগ্রীর সংজ্ঞা নির্ধারণের চিন্তা না করে দ্রুত পুরো ফোল্ডারগুলি অনুলিপি করতে পারে। উদাহরণস্বরূপ, সি: \ সরঞ্জাম ডিরেক্টরিতে সমস্ত বিষয়বস্তু নতুন ফোল্ডারে ডি: \ ব্যাকআপ \ সরঞ্জামগুলিতে অনুলিপি করতে, নিম্নলিখিতটি প্রবেশ করান:

    robocopy C:\tools D:\backup\tools /e
    

    / ই মডিফায়ার রোবকোপিকে সমস্ত উপ-ডিরেক্টরি অন্তর্ভুক্ত করতে বলে। এর মধ্যে খালি ফোল্ডার অন্তর্ভুক্ত। রোবোকপি স্বয়ংক্রিয়ভাবে লুকানো এবং সিস্টেম ফাইলগুলি অনুলিপি করবে। এটি লক্ষ্য স্থানে বিদ্যমান না থাকলে এটি নতুন ডিরেক্টরি তৈরি করবে।

  2. একটি ডিরেক্টরি আয়না। ব্যাকআপ তৈরির জন্য ডিরেক্টরি মিরর করা দুর্দান্ত। রোবোকপির মিরর অপশনটি উত্স থেকে সমস্ত বিষয়বস্তুটি গন্তব্যে অনুলিপি করবে। এটি গন্তব্যস্থলে এমন কোনও কিছু মুছে ফেলবে যা উত্সটিতে নেই। এটি নিশ্চিত করে যে আপনার ব্যাকআপে কেবলমাত্র আপনার ফাইলগুলির সর্বশেষতম সংস্করণ রয়েছে। উদাহরণস্বরূপ, সি: mirror ব্যবহারকারীরা \ আমার নথিগুলিকে ডি: \ ব্যাকআপ \ আমার দস্তাবেজগুলি আয়না করতে, নিম্নলিখিতটি প্রবেশ করান: [4]

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir
    

    এই ফাংশনটি মূল ফাইলগুলির সমস্ত অনুমতি সংরক্ষণ করবে।

  3. পুনঃসূচনা সক্ষম করুন। মিড কপিটি সংযোগ বিচ্ছিন্ন হয়ে গেলে আপনি প্রক্রিয়াটি পুনরায় চালু করার ক্ষমতা অন্তর্ভুক্ত করতে চাইতে পারেন।

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z
    
  4. অনুলিপি করার প্রক্রিয়াটি লগইন করুন। রোবোকপি আপনাকে একটি লগ ফাইল তৈরি করতে দেয়। এটি আপনাকে সমস্যাগুলি চিহ্নিত করতে বা যা অনুলিপি করা হয়েছে তার একটি সংরক্ষণাগার তৈরি করতে সহায়তা করতে পারে।

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /log+:<filename>.txt
    

    / লগ + পরিবর্তনকারী বিদ্যমান লগ ফাইলটিকে ওভাররাইট করার পরিবর্তে সংযোজন করবে। আপনি যদি কেবল পুরানো লগ ফাইলটি ওভাররাইট করতে পছন্দ করেন তবে /log :.txt ব্যবহার করুন।


8

আমি এক্সকপির উপরে রোবোকপির প্রস্তাব দিই , কারণ এতে টাইমস্ট্যাম্প অক্ষত রাখার মতো আরও অনেক বিকল্প রয়েছে, যা আমি অপরিহার্য বলে মনে করি।

এক্সপি / 2003 এ রোবোকপি যুক্ত করা দরকার তবে ভিস্তার পরে এটি স্ট্যান্ডার্ড।

আমি আসলে xxcopy ব্যবহার করি তবে 64-বিট সংস্করণটি নিখরচায় নয়।


1
robocopyএকটি উইন্ডোজ প্রোগ্রাম। প্রশ্নটি ডস সম্পর্কে ছিল।
মাধ্যাকর্ষণ

9
@ গ্রাটিউইটি: সিএমডি 'ডস' ডাকার উচ্চ সম্ভাবনার তুলনায় তাঁর প্রকৃতপক্ষে 16-বিট ডস ব্যবহারের সম্ভাবনা খুব কম, যেমনটি বাস্তব বিশ্বে সাধারণ।
প্যারাড্রয়েড

আসল প্রশ্ন হ'ল: রোবোকপি কি মাইক্রোসফ্ট প্রোগ্রাম?
নোকট করুন

@ কেএনওকেতে হ্যাঁ এটি হ'ল
ইয়াসিকো

5
XCOPY SourceDrive: DestinationDrive: /S /E

উদাহরণস্বরূপ, আপনার যদি কমান্ড লাইনের মাধ্যমে বা xboot কমান্ড এনভায়রনমেন্ট থেকে ড্রাইভের (বহিরাগত হার্ড ড্রাইভ) E:ড্রাইভের ডেটা অনুলিপি করতে হয় H:

xboot:\>XCOPY E:\ "H:\BackupFolder\" /S /E

2
/ ই উপস্থিত থাকলে / এস প্রয়োজন হয় না। Windows-commandline.com/copy-directory-command-line
গিরি

3

যদি আসল প্রশ্নটি আমি উত্তরটির সন্ধান করছিলাম তবে আমি এবং সম্ভবত উপরের কেউই একটি সুস্পষ্ট সমাধান নিয়ে এসেছি।

আমি যা খুঁজছি তা হ'ল টেস্ট ডিরেক্টরিটি আবার টাইপ না করেই টেস্ট 2 ডিরেক্টরিতে কপি করা। কিছুটা এইরকম

xcopy /isvy c:\test d:\test2

যেখানে d:\test2\testঅনুলিপিটির আগে উপস্থিত নেই কিন্তু পরে রয়েছে। এটি গন্তব্য পথে দ্বিতীয়বার মিস-টাইপিং পরীক্ষায় সঞ্চয় করবে। উপরের কমান্ডটি সমস্ত ফাইল এবং যে কোনও ডিরেক্টরিকে টেস্ট 2-তে অনুলিপি করবে কিন্তু পরীক্ষার ডিরেক্টরিটি তৈরি করবে না।

যতদূর

xcopy /isvy c:\test d:\test2\test

সত্যিই আমি এই কাজটি করতে পেলাম way আবার আপনার টাইপিংয়ের সমস্যা থাকলে উত্স এবং গন্তব্য ডিরেক্টরিগুলি মেলে এমন কোনও গ্যারান্টি নেই।

এটি সংশোধন করার একটি বিকল্প হ'ল

set mydir=test&&xcopy /isvy c:\%mydir% c:\test2\%mydir%

এটি mydirভেরিয়েবলের মধ্যে গন্তব্য ডিরেক্টরিটি সেট করে তারপরে উত্স এবং গন্তব্য পথ উভয় ক্ষেত্রে সেই পরিবর্তনশীলটি ব্যবহার করে। আপনি ভেরিয়েবলটি ভুল টাইপ করলে আপনি একটি ত্রুটি পাবেন অথবা গন্তব্য ডিরেক্টরিটি সম্ভবত %শুরু এবং শেষের দিকে থাকবে।

এটি টাইপ করতে দীর্ঘ কিন্তু ভুল নাম পাওয়ার সম্ভাবনা কম। তারা লক্ষণীয় হবে।


এটা আসলে এর xcopy /ievy c:\test d:\test2\testডিরেক্টরি ট্রী কাঠামো রাখা, এবং set mydir=test&xcopy /isvy c:\%mydir% c:\test2\%mydir%শুধুমাত্র 1 & চলা হবে, যেহেতু একটি মান নির্ধারণের ফলে সবসময় সফল হয়।
নেটওয়র্কস্ট্রেশন

0
xcopy SWITCHES SOURCE DESTINATION

কোথায় SWITCHESহতে পারে:

  • পুরো ডিরেক্টরি কাঠামো অনুলিপি করতে:

    /hiev

  • গন্তব্যে ফাইলগুলি ওভাররাইট করতে (গন্তব্য ফোল্ডারটি ইতিমধ্যে উপস্থিত থাকলে):

    /hievry

  • ওভাররাইট এবং এসিএল + বৈশিষ্ট্য সহ অনুলিপি করতে:

    /hievxok

আপনার ক্ষেত্রে সবচেয়ে উপযুক্ত:

xcopy /hievry C:\test C:\test2\test


0

আমার অনুরূপ পরিস্থিতি ছিল যেখানে আমার ফোল্ডারের নাম সহ অনেকগুলি ফোল্ডার কোনও গন্তব্যের স্থানে অনুলিপি করা দরকার ছিল এবং আশা করি উত্তরযুক্ত চিহ্নিত এই প্রশ্নের সাহায্য করবে, তবে বাস্তবে তা কার্যকর হয় না।

প্রথমত, এমন ইভেন্টগুলি অবশ্যই ঘটে থাকে যেখানে একজনের এই দক্ষতার প্রয়োজন হয় এবং আমি যখন সি: \ উইন্ডোজ \ অ্যাসেম্বলিয়ান \ জিএসি_এমএসআইএল থেকে ফোল্ডারগুলি অনুলিপি করতে পারি তখন আমি তার মধ্যে চলে যাই। উইন্ডোজ এক্সপ্লোরার এই ফোল্ডারটি দেখাতে অস্বীকার করেছে, সুতরাং আপনাকে একটি কমান্ড প্রম্পট ব্যবহার করতে হবে।

আপনি যদি জিএসি ফোল্ডারটির সাথে পরিচিত হন তবে আপনি জানতেন যে ফোল্ডারের নামগুলি তুচ্ছ এবং ভুল টাইপ করলে ভুল পাওয়া সহজ।

সুতরাং ডিরেক্টরি তৈরি করার আগে কোনও বিকল্প নয় - আপনি যদি স্ক্রিপ্ট না ব্যবহার করেন - যা আমি ব্যবহার করে শেষ করেছি, কারণ এটিই ছিল একমাত্র আসল সমাধান।

অস্থায়ী ফাইলে আপনি অনুলিপি করতে চান এমন ফোল্ডারগুলি প্রথমে ডাম্প করুন, এটি সাধারণত কিছু প্যাটার্নের উপর নির্ভর করে যেমন

dir /B policy* > Folders.txt

তারপরে ডাম্পের এন্ট্রিগুলি লুপ করুন এবং গন্তব্যে অনুলিপি করুন। আপনি যদি ব্যাকস্ল্যাশ (\) দিয়ে গন্তব্য যুক্তি শেষ করেন তবে এক্সকপি একটি ফোল্ডার তৈরির যত্ন নেবে

for /F "tokens=*" %%A in (Folders.txt) do xcopy /E /S %%A C:\Dest\%%A\

এই দুটি কমান্ড একটি ব্যাচ ফাইলে রাখুন এবং রান করুন।

এখন যদি কেবল এক্সকপি বা রোবোকপিতে এটি অন্তর্নির্মিত থাকে।


0

এক্সকোপি সোর্সড্রাইভ: গন্তব্যড্রাইভ: / এস / ই


সুপার ব্যবহারকারীকে স্বাগতম! আপনি এই ব্যাখ্যা করতে পারেন? (বিশেষত /S /Eপতাকাগুলি)
15:38

0

আমি আপনার প্রশ্নের একটি কার্যকরী বিকল্প উত্তর এসেছি।

প্রথমত, ব্যবহার FORFILESসঙ্গে /Sপ্যারামিটার হয়, গড়ে তুলে যে প্রতি উপ-ডিরেক্টরির মধ্যে C:\testপৌঁছে করা হবে না।

দ্বিতীয়ত, /Cপ্যারামিটারের সাহায্যে নেটিভ ভেরিয়েবলের সাহায্যে কমান্ডের একটি শৃঙ্খলা শুরু করা সম্ভব হয়, যা গন্তব্যে অভিন্ন ডিরেক্টরি তৈরি করা সম্ভব করে এবং তারপরে দুটি শর্তযুক্ত কাঠামো ব্যবহার করে ফাইলগুলি অনুলিপি করে দেয়।

প্রথম শর্তসাপেক্ষ কাঠামো @isdir==TRUE(বড় হাতের অক্ষর ব্যবহারের বিষয়টি নিশ্চিত করুন), কেবল উত্স থেকে ডিরেক্টরিগুলি পেতে অনুমতি দেয়, তারপরে এগুলি শেষে দিয়ে গন্তব্যস্থলে তৈরি করে MKDIR [path]\@relpath

অবশেষে, দ্বিতীয়টি নিশ্চিত করে যে এটি কেবল ফাইলের সাথেই কাজ করছে @isdir==FALSEএবং তারপরে কপি কমান্ডটি কেবলমাত্র কাজটি সম্পন্ন করে, সমস্ত ফাইলকে [path]@relpathকেবলমাত্র তৈরি করা ডিরেক্টরিগুলির মধ্যে ফাইলগুলি অনুলিপি করার জন্য, গন্তব্য হিসাবে স্থাপন করে, ফাইলটি সম্পাদনা করে reached

forfiles /s /c " cmd /c ( if @isdir==TRUE mkdir C:\test\@relpath ) && ( if @isdir==FALSE copy @file C:\test2\@relpath)"

আশা করি এটি আশেপাশের সবাইকে সহায়তা করে।


-2

এটি জিইউআই থেকে এটি করবে, তারা কীভাবে এটি করে তা জানেন না।

"... ছোট প্রোগ্রাম আপনাকে" ডিরেক্টরি থেকে "এবং" ডিরেক্টরিতে "নির্বাচন করার অনুমতি দেবে এবং এটি কেবল ডিরেক্টরি কাঠামোর অনুলিপি করতে এগিয়ে যাবে" "

http://www.rjlsoftware.com/software/utility/treecopy/

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.