রোবকপি মূল ফোল্ডার এবং তার সময়ের স্ট্যাম্প অনুলিপি করে না


10

রবোকপি মূল ফোল্ডার এবং তার সময়ের স্ট্যাম্পটি অনুলিপি করে না - এটি সমস্ত উপ-ডিরেক্টরি এবং ফাইলগুলি অনুলিপি করে (যখন উপযুক্ত বিকল্পগুলি সেট করা থাকে) এবং রবোকপিটি বলার জন্য কোনও বিকল্প / যুক্তি নেই বলে মনে হয় যে আপনি নিজেই মূল ফোল্ডারটি চান এবং তার সময় স্ট্যাম্প বা বৈশিষ্ট্যগুলি ভারব্যাটিমও অনুলিপি করা।

সুতরাং বলুন আমি চাই সি: / ব্রাশগুলি অনুলিপি করতে চাই

রোবকপি তার সমস্ত উপ-ডিরেক্টরি এবং ফাইলগুলি গন্তব্যে অনুলিপি করবে, তবে ব্রাশ ফোল্ডারটি নয়, সমস্ত সম্পর্কিত বৈশিষ্ট্য এবং সময় স্ট্যাম্প সহ।

তুমি কি বুঝছ আমি কি জিজ্ঞাসা করছি? এটি বেশ বেসিক এবং রোবোকপির কাছে এর কোনও বিকল্পের অভাব বলে মনে হচ্ছে। লোকেরা বিভিন্ন ফোরামে প্রশ্নটি আগে প্রকাশ করেছিল তবে আমি যতটা উদ্বিগ্ন, কেউই প্রশ্নের উত্তর দেয়নি।

এখানে চিত্র বর্ণনা লিখুন


1
এটি আমার সাথে অভিজ্ঞতার উপর ভিত্তি করে একটি ফ্লায়ার, rsyncতবে যদি আপনার টার্গেট ফোল্ডারের শেষে আপনার পিছনে পিছনে কোন স্ল্যাশ না থাকে? জিইউআই ব্যবহার না করে কমান্ড-লাইন স্তরে স্ক্রিপ্টটি সংশোধন করার চেষ্টা করবেন কীভাবে? আমি একটি সত্যের জন্য জানি যে কমান্ড-লাইন সরঞ্জামটি আপনার যা প্রয়োজন তা করবে।

@ র্যান্ডলফ ওয়েস্ট: বর্তমানে লক্ষ্য ফোল্ডারের শেষের দিকে আমার কোনও পিছনে স্ল্যাশ নেই। আমি এখনও রোবকপিটিকে প্রকৃত অনুলিপি কাজের উত্স ফোল্ডার এবং এর বৈশিষ্ট্যগুলি ইত্যাদি অন্তর্ভুক্ত করতে পারি না। কোন ধারনা?
ptrcao

রোবোকপির কোনও সমাধান না হলে আপনি এক্সএক্সকপিটি দেখতে পারেন (ফ্রিওয়্যার এবং বাণিজ্যিক সংস্করণ রয়েছে)।
harrymc

হ্যাঁ, আমি পুরোপুরি বুঝতে পেরেছি এবং নীচে একটি কার্যক্ষম সমাধান যুক্ত করেছি। আসল সমস্যাটি হ'ল অনুলিপি করার জন্য আপনাকে রুটের সমস্ত ফাইল এবং ফোল্ডার নির্দিষ্ট করতে হবে।
আফসিন

উত্তর:


8
robocopy %1 "C:\DestinationDirectory\%~n1" /E /V /DCOPY:T /LOG:"C:\DestinationDirectory\Copied.txt" /R:10 /W:30 

এতে একটি ফোল্ডার ফেলে দিন batবা এতে প্রেরণে ব্যবহার করুন । এটি উত্স ডিরেক্টরিতে নাম এবং সময় স্ট্যাম্প সহ ফোল্ডার তৈরি করবে এবং সমস্ত ফাইল অনুলিপি করবে।


আপনাকে অনেক ধন্যবাদ, সেই ম্যাজিক% ~ n1 অপারেটরের জন্য অনুসন্ধান করা হয়েছিল
হটজন

@ হটজেন, কি করবে %~n1?
পেসারিয়ার

1
এগুলি এখানে তালিকাভুক্ত করা হয়েছে: মাইক্রোসফট
রিসোর্স

"% 1 ফাইলের নামে প্রসারিত করে।"
হটজন

মাইক্রোসফ্ট তাদের সমস্ত লিঙ্ক ভেঙে দিয়েছে, এখানে ব্যাচের জন্য শতকরা টিলডে
উইকি

3

আমি ওপির সাথে একমত, মূল ফোল্ডারটি অনুলিপি করতে না পারাই রোবোকপির বড় ঘাটতি। সাময়িক ফোল্ডারে ব্রাশ ফোল্ডারটি প্রতারণা এবং সরিয়ে নিয়ে যাওয়া, অস্থায়ী ফোল্ডারে রবোকপি অপারেশন সম্পাদন করে, তারপরে কীভাবে ফিরিয়ে নেওয়া যায়?

কিছুটা এইরকম:

md "c:\verytemporary" && move "c:\brushes" "C:\verytemporary"||( echo Line 1 error occurred & goto :eof )
robocopy c:\verytemporary d:\ /MIR /DCOPY:T
move "c:\verytemporary\brushes" "c:\" && rd /q "c:\verytemporary"||echo Line 3 error occurred

2

md D:\Backup\Brushes && robocopy C:\brushes D:\Backup\Brushesসঠিক পাথ স্থাপন করে কমান্ড-লাইন থেকে চেষ্টা করুন ।


1
হ্যাঁ, তবে আপনি একটি নতুন ফোল্ডার তৈরি করছেন যাতে মূল সি: us ব্রাশ ফোল্ডার ... এর গুণাবলী থাকবে না?
ptrcao

2

যেহেতু আমি উত্তরের কোনও ভাল এবং সহজ সমাধান দেখতে পাচ্ছি না:

রোবোকপির কোনও সমাধান না হলে আপনি এক্সএক্সকপিটি দেখতে পারেন (ফ্রিওয়্যার এবং বাণিজ্যিক সংস্করণ রয়েছে)।

সেখানে অবশ্যই robocopy অনেক অন্যান্য বিকল্প কিছু তালিকাভুক্ত করা হয় হয় এখানে
আরও দেখুন শ্রেষ্ঠ বিনামূল্যে ফাইল কপি ইউটিলিটি


1
xxcopyএকটি দুর্দান্ত ইউটিলিটি, তবে ফ্রিওয়্যার সংস্করণে একটি প্রম্পট রয়েছে যা আপনি যদি কমান্ড লাইন সুইচগুলির একটি বৃহত তালিকা ব্যবহার করেন তবে আপনাকে অবশ্যই প্রতিক্রিয়া জানাতে হবে। xxcopyকমান্ড উইন্ডো থেকে ব্যবহার করে , এই অতিরিক্ত প্রম্পটটি বিরক্তিকর। তবে এটি xxcopyকোনও ব্যাচ ফাইল থেকে মোটেই ব্যবহার (জটিল) প্রতিরোধ করে ।
কেভিন ফেগান

1

ব্যবহারকারী 105198 এর উত্তর অর্ধেক উপায়,

D:\Backup\Brushes && robocopy C:\brushes D:\Backup\Brushes আসলেই একটি নতুন ফোল্ডার তৈরি করবে। আপনার এতে / এমআইআর এবং / ডিসিপিওয়াই: টি যুক্ত করতে হবে

সঙ্গে / মীর বিকল্প, যদি গন্তব্য ডিরেক্টরির বিদ্যমান, গন্তব্য সংকলন নিরাপত্তা সেটিংস ওভাররাইট হয়। TechNet

/DCOPY:T :: COPY Directory Timestamps.

একত্রিত হওয়ার অর্থ, উত্স ডিরেক্টরিটির বৈশিষ্ট্য এবং টাইমস্ট্যাম্পগুলি তৈরি ফোল্ডারে মিরর করা হবে।

তাই:

D:\Backup\Brushes && robocopy C:\brushes D:\Backup\Brushes /MIR /DCOPY:T

1

আমি মনে করি আপনি দেখতে পাচ্ছেন যে রোবকপি আপনার ইচ্ছামতো ঠিক তাই করবে, আপনি যদি ফোল্ডারের টাইমস্ট্যাম্পগুলি অনুলিপি করতে বলেন (/ ডিসিপিওয়াই: টি)। আমার পরীক্ষা-নিরীক্ষাগুলি থেকে আমি রবোকপির ক্ষেত্রে নিম্নলিখিত (আপাতদৃষ্টিতে অনাবৃত) আচরণটি সত্য বলে খুঁজে পেয়েছি:

গন্তব্য ডিরেক্টরি উপস্থিত রয়েছে, বিদ্যমান নেই বা উত্স ডিরেক্টরি থেকে আলাদা নাম রয়েছে তা নির্বিশেষে উত্স ডিরেক্টরিতে সমস্ত নির্দিষ্ট বৈশিষ্ট্য গন্তব্য ডিরেক্টরিতে প্রয়োগ করা হয়।

নির্দিষ্ট বৈশিষ্ট্যগুলিতে (কমপক্ষে) সুরক্ষা তথ্য (/ এসইসি) বা ফোল্ডার টাইমস্ট্যাম্পগুলি (/ ডিসিপিওয়াই: টি) অন্তর্ভুক্ত থাকতে পারে।

সুতরাং, নিম্নলিখিত উদাহরণে, সি: \ গন্তব্য \ ফোল্ডারটি c: \ উত্স \ ফোল্ডার হিসাবে একই টাইমস্ট্যাম্পগুলি বরাদ্দ করা হবে।

robocopy c:\source\folder C:\destination\folder /E /DCOPY:T

আমি এটি উইন্ডোজ 7, ​​উইন্ডোজ 8 এবং উইন্ডোজ 2003 রিসোর্স কিট (/ কেবল এসইসি প্যারামিটার) এর সাথে অন্তর্ভুক্ত রোবকপির সংস্করণগুলি দিয়ে পরীক্ষা করেছি। মনে রাখবেন যে কেবলমাত্র রবোকপির নতুন সংস্করণ (XP026 এবং তদতিরিক্ত) / DCOPY: T প্যারামিটার সমর্থন করে।


0

আপনি যদি আপনার সাথে একত্র /IF :: Include the following Files.হন /E :: copy subdirectories, including Empty ones.তবে পছন্দসই প্রভাব পান (কাছাকাছি):

C:\Temp\Robocopy Source Root>robocopy . "C:\Temp\Robocopy Destination" /E /IF "Brushes*"

1
"কাছাকাছি" বলতে কী বোঝ? আপনি বোঝাচ্ছেন সীমাবদ্ধতা কি?
ptrcao

বিপদ উইল রবিনসন !!! আপনার পরামর্শটি বর্তমান ফোল্ডারের প্রতিটি ফোল্ডার অনুলিপি করে মনে হচ্ছে, এটি "
ব্রাশস

0

এটি সহজেই করার জন্য রবোকপি সত্যই ডিজাইন করা হয়নি। তবে, একটি উপায় আছে।

রুট ফোল্ডারে 50 ফাইল এবং 40 ফোল্ডার বলতে দেয়। আপনি কেবল এক্স ফোল্ডারটি চান (তবে আপনি এটির সময় এবং তারিখের স্ট্যাম্পও চান)।

ROBOCOPY c:\ d:\ /XF 50 root file names c:\boot.ini c:\bla.txt etc. /XD c:\windows c:\drivers c:\temp etc. /S /E /SEC /DCOPY:T

/ ডিসিপিওয়াই: টি ফোল্ডারের সময় স্ট্যাম্পগুলি রাখতে বলে tells / এক্সএফ নির্দিষ্ট করে কোন ফাইলগুলি অনুলিপি করবেন না, / এক্সডি নির্দিষ্ট করে কোন ফোল্ডারগুলি অনুলিপি করবেন না। কেবল ফোল্ডার গ: \ এক্স নির্দিষ্ট করবেন না।

এর মূল অসুবিধাটি হ'ল মূলের সমস্ত ফোল্ডার এবং ফাইলের নামগুলি নিয়ে গবেষণা করা এবং সেগুলিকে এখানে বিশেষভাবে কল করা। আপনি যদি এটি বিভিন্ন সিস্টেমে অনেক কিছু করে থাকেন তবে একটি স্ক্রিপ্ট লেখা যেতে পারে।

কাজের উদাহরণ

রোবোকপি সি: \ টেস্টিং সি: \ এবিসি / এক্সএফ সি: \ টেস্টিং t টেস্টিং.টেক্সট / এক্সডি "সি: \ টেস্টিং \ নতুন ফোল্ডার (2)" "সি: \ টেস্টিং \ নতুন ফোল্ডার (3)" / এস / ই / এসইসি / ডিসিপিওয়াই: টি

রুট ওয়ার্কিং উদাহরণ

রোবোকপি সি: \ d: \ / এক্সএফ সি: ing টেস্টিং.টেক্সট / এক্সডি "সি: \ নতুন ফোল্ডার (2)" "সি: \ নতুন ফোল্ডার (3)" / এস / ই / এসইসি / ডিসিপি: টি

আমার পরীক্ষাটি কার্যকর হয়েছিল, আমি কয়েকটি ফোল্ডার এবং সাব ফোল্ডার তৈরি করেছি, সি: \ এই ক্ষেত্রে পরীক্ষাটি রুট ছিল, সি: \ এবিসি অন্য ড্রাইভের মূল ছিল (সম্ভবত তারা সত্যিকারের নয়, তবে এই উদ্দেশ্যে এটি বোঝা উচিত)। মূলটি থেকে যে ফোল্ডারটি আমি চেয়েছিলাম সেটিকে "নতুন ফোল্ডার" বলা হয়েছিল, আপনি দেখতে পাচ্ছেন যে আমি এটি / এক্সডিতে নির্দিষ্ট করে নেই। এছাড়াও, নিশ্চিত করুন যে আপনি সি: specify নির্দিষ্ট করেছেন বা আপনি যে নামগুলি ব্যবহার করেন তা বিশ্বব্যাপী হবে। অন্য কথায় যদি আমি সি: specify টেস্টিং.টেক্সট ফাইলটি থেকে টেস্টিং নির্দিষ্ট না করে থাকি তবে এটি অনুলিপি করা সমস্ত সাব-ফোল্ডার থেকে বাদ পড়বে। / এসইসি সমস্ত ফাইল সুরক্ষা এবং সময় স্ট্যাম্পগুলি অনুলিপি করবে।


হুম, আমি মনে করি আপনি সমস্ত রুট ফাইল বাদ দিতে / এক্সএফ সি: *। * ব্যবহার করতে পারেন। আমি এটি পরীক্ষা করব যখন আমি কোনও মেশিনের সামনে থাকি এবং কোনও ফোনে না।
আফসিন

না, সি: *। * অবৈধ, আপনাকে ম্যানুয়ালি সমস্ত ফাইল তালিকাভুক্ত করতে হবে।
অপসিন

0

তত্ত্ব অনুসারে, ব্যবহার /DCOPY:Tকরা আপনার সমস্ত সমস্যার সমাধান করা উচিত।

তবে, আমি এটি ঘটেছে দেখেছি এবং আমি নিশ্চিত নই যে আমি এটিকে "বাগ" বলব, বরং ক্রিয়াকলাপের ক্রম (ঠিক আছে, বাগ) এর ফলস্বরূপ।

এই কমান্ডের থেকে সব ফাইল কপি করার কাজ করা উচিত C:\Brushesজন্য D:\NEWBrushes, এবং /DCOPY:Tকারণ উচিত উৎস ফোল্ডার টাইমস্ট্যাম্প গন্তব্য ফোল্ডারটি কপি হবে:

robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T

আমি যা দেখেছি (কমপক্ষে রবোকপির কয়েকটি সংস্করণে) তা হ'ল কমান্ড সফল হয় তবে D:\NEWBrushesফোল্ডারের টাইমস্ট্যাম্পটি বর্তমান তারিখ এবং সময়কে সেট করে।

সুতরাং দেখা যাচ্ছে যে /DCOPY:Tবৈশিষ্ট্যটি আপনি অনুলিপি করছেন এমন "বেস" (শীর্ষস্থানীয়) ফোল্ডারের জন্য কাজ করে না।

আমি বিশ্বাস করি যে এটি কাজ করছে, তবে পরবর্তীকালের অপারেশন সিকোয়েন্সের ক্রিয়াকলাপগুলির দ্বারা গন্তব্য ফোল্ডারের টাইমস্ট্যাম্পটি "পদক্ষেপিত" হচ্ছে।

আমি বিশ্বাস করি যা এই আদেশের জন্য ঘটছে:

robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T

এরকম কিছু:

  1. D:\NEWBrushesযদি ফোল্ডারটি ইতিমধ্যে বিদ্যমান না থাকে তবে তা তৈরি করুন
  2. থেকে টাইমস্ট্যাম্প কপি C:\BrushesকরতেD:\NEWBrushes
  3. থেকে ফাইল ও উপ ফোল্ডার কপি C:\BrushesকরতেD:\NEWBrushes

এটি প্রদর্শিত হয় যে পদক্ষেপ 3, ফোল্ডারের সামগ্রীগুলির পরিবর্তনটি পরিবর্তনের D:\NEWBrushesটাইমস্ট্যাম্পের কারণ করে D:\NEWBrushes

আমার জন্য, "workaround" robocopyফাইল এবং ফোল্ডারগুলি অনুলিপি করতে কমান্ডটি চালানো হয়েছে , তারপরে robocopyদ্বিতীয় বার (একই) কমান্ডটি চালানো হবে ।

সুতরাং, আপনি প্রথমবার চালান:

robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T

সমস্ত ফাইল এবং ফোল্ডার অনুলিপি করা হবে। তারপরে আবার এটি চালনা করুন:

robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
  (or)
robocopy "C:\Brushes" "D:\NEWBrushes" /DCOPY:T

দ্বিতীয় সময় robocopyচালায়, মধ্যে কোন ফাইল বা ফোল্ডার D:\NEWBrushesপরিবর্তন করা হবে, এবং /DCOPY:Tবিকল্প বলব robocopyথেকে টাইমস্ট্যাম্প কপি করতে C:\Brushesকরতে D:\NEWBrushes(যদি না সেখানে ফোল্ডার / ফাইল আছে C:\Brushesযে প্রথমবার চালনার থেকে পরিবর্তিত হতে robocopy)।


-1

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

$Destination="F:\Backup" #change destionation backup drive and foder
$BackupDirs="d:\folder1", "d:\folder2", "d:\folder3\subfolder", "d:\fodler4\subfolder\subsubfodler" #change source folders

#make a loop for every source folder
foreach ($Backup in $BackupDirs) {

#split folder name
$fdname = Split-Path $Backup -leaf

#define folder to create in destionation
$dirtocreate = Join-Path $Destination $fdname

#make directory, yes, some extra script to skip when exist should be in place, but -erroraction solved this in lazy mode :)
md $dirtocreate -ErrorAction SilentlyContinue 

#copy with subfolders and log
robocopy $backup $dirtocreate  /s /nfl /ndl /log:c:\scripts\backup.log

}

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