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


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.