এক ফোল্ডার থেকে অন্য ফোল্ডারে ফাইল অনুলিপি করতে ব্যাচ ফাইল


235

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

\ Oldesserver \ সঞ্চয়স্থান \ ডেটা এবং ফাইলগুলি থেকে \ নতুন সার্ভার \ স্টোরেজ \ ডেটা এবং ফাইল


3
আমি ধরে নিচ্ছি আপনি উইন্ডোজ পরিবেশের কথা বলছেন?
অ্যালান প্লাম


4
@ হুগোম.জুলেটা, আমি .bat ফাইল সম্পর্কে সচেতন। তবে "ব্যাচ ফাইল" অগত্যা উইন্ডোজ পরিবেশের গ্যারান্টি দিচ্ছে না। উইন্ডোজ প্রাক-তারিখের ব্যবহার (যেমন .bat ফাইলগুলি করুন) এবং আমি এমনকি novices শব্দটি "নিক্স পরিবেশে" শেল স্ক্রিপ্টগুলি বোঝাতে ব্যবহার করতে দেখেছি।
অ্যালান বরই

1
@ প্লুমা আমি সম্মত, এবং এটি বেশিরভাগ কারণেই তারা তাদের ওএসের স্ক্রিপ্টিং সরঞ্জামগুলি দ্বারা ব্যাচ অপারেশনগুলি উল্লেখ করে।
হুগো এম জুলেটা

উত্তর:


441

xcopy.exe অবশ্যই এখানে আপনার বন্ধু। এটি উইন্ডোজে নির্মিত, সুতরাং এর ব্যয় কিছুই হয় না।

মাত্র xcopy /s c:\source d:\target

আপনি সম্ভবত কয়েকটি জিনিস টুইট করতে চান; আমরা যোগ করা কয়েকটি বিকল্পের মধ্যে রয়েছে:

  • /s/e - খালি ডিরেক্টরি অনুলিপি সহ পুনরাবৃত্তির অনুলিপি।
  • /v- মূলটির বিপরীতে অনুলিপিটি যাচাই করতে এটি যুক্ত করুন। ধীর, তবে অচলতার জন্য।
  • /h - কপি সিস্টেম এবং লুকানো ফাইল।
  • /k- ফাইলগুলি সহ কেবল পঠনযোগ্য বৈশিষ্ট্যগুলি অনুলিপি করুন। অন্যথায়, সমস্ত ফাইল পড়া-লেখায় পরিণত হয়।
  • /x- আপনি যদি অনুমতিগুলির বিষয়ে চিন্তা করেন তবে আপনি চাইবেন /oবা করতে পারেন /x
  • /y - বিদ্যমান ফাইলগুলি ওভাররাইট করার আগে প্রম্পট করবেন না।
  • /z- আপনি যদি ভাবেন যে অনুলিপিটি ব্যর্থ হতে পারে এবং আপনি এটি পুনরায় চালু করতে চান তবে এটি ব্যবহার করুন। এটি অনুলিপি করার সাথে সাথে এটি প্রতিটি ফাইলের উপর একটি মার্কার রাখে, যাতে আপনি যেখান থেকে ছেড়ে গিয়েছিলেন সেখান থেকে বেছে নিতে xcopy কমান্ডটি পুনরায় চালু করতে পারেন।

আপনি যদি ভাবেন যে এক্সকপিটি পার্টওয়েতে ব্যর্থ হয়ে যেতে পারে (যেমন আপনি যখন কোনও ফ্ল্যাঙ্ক নেটওয়ার্ক সংযোগের অনুলিপি করছেন) বা আপনাকে এটি বন্ধ করতে হবে এবং পরে চালিয়ে যেতে চান, আপনি ব্যবহার করতে পারেন xcopy /s/z c:\source d:\target

আশাকরি এটা সাহায্য করবে.


2
@ আইভিনিও একটি সংরক্ষণাগারটি অনুলিপি করার সময় এটি ফাইল বা ডিরেক্টরি জিজ্ঞাসা করছে। দমন করার উপায় আছে কি?
বিটারব্লু

হাই @ মিনি-মি - আমি দেখতে পেলাম যে এটি যদি ডিরেক্টরি হয় তবে আপনি একটি '/' অক্ষর নির্দিষ্ট করতে পারেন এবং আপনি সেই বার্তাটি দেখতে পাবেন না।
ডেভদেভ

2
/i- যদি গন্তব্য উপস্থিত না থাকে এবং একাধিক ফাইল অনুলিপি করে, ধরে নেওয়া হয় যে গন্তব্যটি অবশ্যই ডিরেক্টরি হতে হবে।
ল্যাভিনিও

1
ডিরেক্টরি থেকে একটি একক ফাইল অনুলিপি কিভাবে?
চরণ রাজু সিআর

10
"ফাইল বা ডিরেক্টরি" প্রম্পটটি ঘুরে দেখার জন্য, কমান্ডটি এর মতো করুন ... echo f | xcopy /s /f srcfile destfile
উইনটন্ডিশং

56

ব্যাকআপ ডেটাতে আমার প্রিয়টি হ'ল:

ROBOCOPY "C:\folder" "C:\new_folder" /mir

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

সূত্র: http://technet.microsoft.com/en-us/library/cc733145.aspx


2
আমি এই সমর্থন। এটা সত্যিই দ্রুত। এক্সকপির চেয়ে অনেক দ্রুত
Ike

এর সাথে অনুরূপ thumbs.db সরানোর জন্য কি আবার কোন উপায় আছে?
দ্রোহ

54

কেবল পরিষ্কার হতে হবে, আপনি যখন ব্যবহার করেন xcopy /s c:\source d:\target, "" সি: \ উত্স এবং ডি: \ লক্ষ্যকে ঘিরে রাখুন, অন্যথায় আপনি ত্রুটি পান।

উদাহরণস্বরূপ যদি পথে কোনও স্থান থাকে তবে যদি আপনার থাকে:

"C:\Some Folder\*.txt"

তবে আপনার যদি প্রয়োজন হয় না:

C:\SomeFolder\*.txt

1
উদ্ধৃতি চিহ্নগুলি কৌশলটি তৈরি করেছে;) ধন্যবাদ আমি উপস্থিত / ওয়াই ফাইলটি উপস্থিত থাকলে প্রতিস্থাপন করতে ব্যবহার করি :) উদাহরণ: cxcopy / s "c: \ উত্স" "d: \ লক্ষ্য" / Y```
জোয়েল কার্নেইরো

18

আপনি এক্সকপি বা রোবকোপি যা আপনার উইন্ডোজে প্রায় সমস্ত ফাইল অনুলিপি অপারেশনগুলির জন্য বেশ বিস্তৃত সমাধানের দিকে নজর দিতে পারেন ।


3
রোবকপি এক্সকপির চেয়ে ভাল বলে মনে হচ্ছে কারণ এক্সকপি ফাইল বা ফোল্ডারের সিদ্ধান্তের জন্য বলে। এবং আমি এটিকে ঘুরিয়ে দিতে পারি না। এটি সম্পূর্ণ স্বয়ংক্রিয়ভাবে কাজ করতে সক্ষম হতে হবে।
বিটারব্লু

@ মিনি-মি আমি জানি এটি খুব দেরী হয়েছে তবে আমি একই প্রাসঙ্গিক সুইচটি খুঁজে পাচ্ছি না। আমি এটিকে অনুলিপি করে একই নাম দিয়ে একটি ফাঁকা ফাইল তৈরি করে নেওয়ার আশ্রয় নিয়েছিলাম then যদি ফাইলটি ইতিমধ্যে বিদ্যমান থাকে তবে এটি কোনও ফাইল বা ডিরেক্টরি কিনা তা জিজ্ঞাসা করে না। (আপনি যদি অটো ডিরেক্টরি চান তবে আপনি পথটিতে একটি '/' যুক্ত করতে পারেন এবং এটি এটি করবে)। আশা করি এটি ভবিষ্যতের লোকদের সহায়তা করবে!
টম সি

2
@ পূর্ববর্তী রেফারেন্সের জন্য, echo f | xcopy source destination /yএটি স্বয়ংক্রিয়ভাবে তৈরি করবে। এটি প্রতিক্রিয়া হিসাবে সমস্ত প্রশ্নকে "f" বরাদ্দ করে। এটি ওভাররাইট অনুরোধগুলিও পাস করবে (এফ হ্যাঁ হিসাবে নেওয়া হয়, আমি মনে করি)।
এনডিএম 13

14

'লক্ষ্যবস্তুতে একটি ফাইলের নাম বা ডিরেক্টরিটির নাম উল্লেখ করুন (এফ = ফাইল, ডি = ডিরেক্টরি)?' এক্সকপি সহ প্রম্পট, আপনি নিম্নলিখিতটি করতে পারেন ...

echo f | xcopy /f /y srcfile destfile

বা আমাদের মধ্যে যারা কেবল বড় বড় কাঠামো / ফোল্ডারগুলি অনুলিপি করে থাকেন:

ব্যবহার / i যা গন্তব্য নির্দিষ্ট করে তা অবশ্যই একটি ডিরেক্টরি হতে হবে যদি একাধিক ফাইল অনুলিপি করে


(ফাইলগুলির প্রতিধ্বনি "এফ" বা ডিরেক্টরিগুলির জন্য "ডি")
জিনস্নো

এটি এখনই করার চেষ্টা করা হচ্ছে এবং এটি কেবল কাজ করে যায় - একটি ফাইল অন্য ডিরেক্টরিতে অনুলিপি করার চেষ্টা করার সময় আমি সর্বদা অনুরোধ জানাই। Win 10 ব্যবহার করে যদি এটি একেবারে প্রতিধ্বনি দেয় f | xcopy / f / y "My.dll" "C: \ myFolder \ My.dll"। অন্যান্য স্যুইচগুলির সংমিশ্রণ দিয়ে আমি এটি চেষ্টা করেছি কোনও লাভ হয়নি (এবং মূলধন এফ)
অধ্যাপক

3

যদি আপনি নিখুঁত পাথ, অন্য কথায় আপেক্ষিক পথ ব্যবহার না করে ফাইল অনুলিপি করতে চান:

পথে ব্যাকস্ল্যাশ লিখতে ভুলবেন না এবং স্ল্যাশ করবেন না

উদাহরণ:

    copy children-folder\file.something .\other-children-folder

PS: "ব্যাচ প্যারামিটার" নামক এই ওয়াইল্ডকার্ডগুলি ব্যবহার করে পরম পাথ পুনরুদ্ধার করা যেতে পারে

    @echo off
    echo %%~dp0 is "%~dp0"
    echo %%0 is "%0"
    echo %%~dpnx0 is "%~dpnx0"
    echo %%~f1 is "%~f1"
    echo %%~dp0%%~1 is "%~dp0%~1"

অনুলিপি সম্পর্কে এখানে ডকুমেন্টেশন চেক করুন: https://technet.microsoft.com/en-us/library/bb490886.aspx

এবং ব্যাচের প্যারামিটার ডকুমেন্টেশনের জন্যও: https://www.microsoft.com/resources/docamentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true


আমার মনে হয় \ কে ব্যাকস্ল্যাশ বলা হয়।
লিওন বোহমান

2
@echo off

rem The * at the end of the destination file is to avoid File/Directory Internal Question.

rem You can do this for each especific file. (Make sure you already have permissions to the path)
xcopy /Y "\\Oldeserver\storage\data\MyFile01.txt" "\\New server\storage\data\MyFile01.txt"*
pause

rem You can use "copy" instead of "xcopy "for this example.

0

তাকান rsyncভিত্তিক উইন্ডোজ টুল NASBackup । আপনি যদি rsync কমান্ডের সাথে পরিচিত হন তবে এটি একটি বোনাস হবে।

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