ডিরেক্টরিগুলি পুনরাবৃত্তভাবে অনুলিপি করতে ব্যাচের ফাইল


121

.Bat ফাইলের মধ্যে ডিরেক্টরিগুলি পুনরাবৃত্তভাবে কপি করার কোনও উপায় আছে কি? যদি তা হয় তবে একটি উদাহরণ দুর্দান্ত। ধন্যবাদ।


2
আপনি xcopy / গুলি মানে? না আরও উন্নত রবোকপি?
— নবীন

এটি আপনাকে সাহায্য করতে পারে, যদিও এটি মুছে ফেলা আপনি সহজেই তার পরিবর্তে অনুলিপি করতে পারবেন daniweb.com/web-development/threads/61479/…
— জর্জেস চিটিগা

আরও দেখুন superuser.com/questions/206036/…
— আগে

উত্তর:


176

দেখব xcopy , যা যাও recursively ফাইল এবং সাবডিরেক্টরি কপি হবে।

পৃষ্ঠাতে 2/3 উদাহরণ রয়েছে। বিশেষ ব্যবহার হ'ল:

এ ড্রাইভ বি থেকে ড্রাইভ থেকে সমস্ত ফাইল এবং উপ-ডিরেক্টরি (যে কোনও খালি সাব ডাইরেক্টরি সহ) অনুলিপি করতে টাইপ করুন:

xcopy a: b: /s /e


16
আপনি সম্ভবত "ওয়াই পতাকাটি অন্তর্ভুক্ত করতে চান" একটি বিদ্যমান গন্তব্য ফাইলটি ওভাররাইট করতে চান তা নিশ্চিত করার অনুরোধ জানানোয় দমন করে।
— ম্যাথু লক

11
'xcopy' একটি ভাল ধারণা কারণ তারা জন্য কুখ্যাতিপূর্ণভাবে বিখ্যাত নয় অপর্যাপ্ত মেমরির ত্রুটি । 'রোবোকপি' ব্যবহার করার চেষ্টা করুন
— রাহুল

6
@ রাহুল হুম সত্যি? আমি যে কখনো দেখিনি, কিন্তু xcopy করেছে অবশ্যই অন্ধকার বয়সের পর থেকে প্রায় হয়েছে। আপনি সম্ভবত এর Copy-Item -Recurseপরিবর্তে পাওয়ারশেলেও করতে পারেন।
— এলসি

1
দুর্ভাগ্যক্রমে হ্যাঁ, এই আচরণটি খুব সাধারণ :)। যদি আপনি যদি এটি ঘন ঘন ঘটে দেখেন তবে বিশেষত যদি আপনি বড় পরিমাণে ডেটা জিগের অনুলিপি করতে চান।
— রাহুল

10
এটি বলে যে এক্সকপিটি অবমূল্যায়ন করা হয়েছে এবং সেই রোবোকপি ব্যবহার করা উচিত।
— মাইক এইচআর

71

স্বীকৃত উত্তরের মন্তব্যগুলি পড়ার পরে, আমি রোবোকপি কমান্ডটি চেষ্টা করেছি , যা আমার পক্ষে কাজ করেছে (উইন্ডোজ 7 64 বিট এসপি 1 এর স্ট্যান্ডার্ড কমান্ড প্রম্পটটি ব্যবহার করে):

robocopy source_dir dest_dir /s /e

5
কখনও জানতেন না 'রোবোকপি' উইন্ডোজ in-এ একটি ইনবিল্ট কমান্ড! উত্তরের জন্য ধন্যবাদ, খুব সহায়ক এবং শক্তিশালী :)
— আনমল সারাফ

5
/Eবোঝায় না /S? copy subdirectories, including Empty ones.
— mbomb007

4
হুম /Sএবং /Eরবোকপি /?সাহায্য অনুসারে বিপরীত বিষয়গুলি বোঝায় বলে মনে হচ্ছে - এটি "খালি নয়" এবং "খালিগুলি"। আমি মনে করি আপনার একটি বেছে নেওয়া উচিত।
— স্টুয়ার্ট ব্রক

1
বেশিরভাগ ব্যবহারকারীর জন্য, আমি মনে করি এটি / ই করা যথেষ্ট (খালি ডিরেক্টরি অন্তর্ভুক্ত)।
— phsource

3
মনে রাখবেন যে robocopyএক বা একাধিক ফাইল সফলভাবে অনুলিপি করা হলে 1 এর একটি প্রস্থান কোড ফেরৎ দেয়।
— ডাগনগার্টন

15

আপনি ব্যাচে একটি পুনরাবৃত্তির অ্যালগরিদম লিখতে পারেন যা আপনাকে প্রতিটি নেস্টেড সাব-ডিরেক্টরিতে যা করেন তার সঠিক নিয়ন্ত্রণ দেয়:

@echo off
call :treeProcess
goto :eof

:treeProcess
rem Do whatever you want here over the files of this subdir, for example:
copy *.* C:\dest\dir
for /D %%d in (*) do (
    cd %%d
    call :treeProcess
    cd ..
)
exit /b

উইন্ডোজ ব্যাচ ফাইল লুপিং ডিরেক্টরি মাধ্যমে ফাইল প্রক্রিয়া?


4
দুর্দান্ত ধারণা কিন্তু আপনার প্রোগ্রামটি ফোল্ডার স্তরক্রম সংরক্ষণ না করে উত্স ডিরেক্টরি থেকে সমস্ত ফাইল একক গন্তব্য ডিরেক্টরিতে অনুলিপি করছে?
— জিন-ফ্রাঙ্কোয়েস টি।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.