রোবোকপি / এক্সডি আপেক্ষিক পাথের সাথে কাজ করবে না


14

আমি একটি রবোকপি /MOVEকমান্ড চালানোর চেষ্টা করছি তবে /XDপতাকাটির সাথে নির্দিষ্ট কয়েকটি উপ-ডিরেক্টরি বাদ দিন ।

robocopy ".\CurrentDir" ".\NewDir" /XD ".\CurrentDir\SubDir1" ".\CurrentDir\SubDir2" /E /MOVE

দুর্ভাগ্যক্রমে এটি /XDবিকল্পটিকে উপেক্ষা করে সবকিছুকে সরিয়ে দেয়। আমি যদি সমস্ত কিছুর উপর নিখুঁত পথ ব্যবহার করি তবে এটি সূক্ষ্মভাবে কাজ করে তবে নমনীয় হওয়ার জন্য আমার এটি প্রয়োজন need এটিকে আপেক্ষিক পাথ দিয়ে কাজ করার কোনও উপায় আছে কি?


3
এটি লক্ষ্য করা উচিত যে আপনি %CD%পরিবেশের পরিবর্তনশীল ব্যবহার করে কেউ যতটা ভাবেন তার চেয়ে কম চেষ্টা করে আপেক্ষিক পাথগুলিকে পরম পথে পরিণত করতে পারেন । উদাহরণ: robocopy ".\CurrentDir" ".\NewDir" /XD "%CD%\CurrentDir\SubDir1" "%CD%\CurrentDir\SubDir2" /E /MOVE
gbr

জিবিআর উত্তরটি সঠিক উত্তর হওয়া উচিত। (প্রদত্ত আপনার যা দরকার না ".." আপেক্ষিক পাথ)
অভিপ্রায়

উত্তর:


15

নির্দিষ্ট /XDফোল্ডারগুলি উত্স ফোল্ডারের মধ্যে বিদ্যমান ফোল্ডারগুলি (বাদ দেওয়ার জন্য) উল্লেখ করছে, তাই আপনি কেবল পিতামাতার সম্পর্ক উল্লেখ না করেই আপনি যে ফোল্ডারটির নাম বাদ দিতে চান তা উল্লেখ করেন specify

অর্থাৎ,

robocopy ".\CurrentDir" ".\NewDir" /XD "SubDir1" "SubDir2" /E /MOVE

6
অসাধারণভাবে এটি স্তর 2 এবং উচ্চতর অর্থাৎ / এক্সডি "সাবডির 1 / সাবডির 11" এর উপ-ডিরেক্টরিগুলির জন্য কাজ করে না।
সত্যচীন

@ ট্রুথসিকার - আপনি ঠিক বলেছেন। এটি প্রথম স্তরের ফোল্ডারগুলির জন্য কাজ করে তবে কিছুই কম নয়। তার জন্য, আপনাকে নিখুঁত উত্স পাথ ব্যবহার করতে হবে (উদাঃ "/ xd% ~ dp0CenterDir old ফোল্ডার 1 \ সাবফোল্ডার 1"), তবে এটি সঠিকভাবে "সাবফোল্ডার 1" উপেক্ষা করবে তবে "ফোল্ডার 1" ইত্যাদি সিঙ্ক করবে আপনি আপেক্ষিক পথ ব্যবহার করতে পারবেন না, এবং আপনি গন্তব্য পথ ব্যবহার করতে পারবেন না।
রকেটমনকি

0

নিম্নলিখিতগুলি সহায়তা করতে পারে - এটি সরাসরি সম্পর্কিত সমস্যা সম্পর্কিত সমস্যার সমাধান করে - তবে অনেকগুলি ডিরেক্টরি এবং উপ ডিরেক্টরিকে বাদ দেয় না।

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

setlocal
set Source_path="\\usatlvmpdroadm1\C$\Installs"
set Destination_path="C:\Robo"
set Log_Path_and_File="C:\RoboCopy_Log_Files\01-Installs C drive to Robo C drive.txt"
set ED1="APC"
set ED2="\\usatlvmpdroadm1\C$\Installs\Dell\Dell MD3420 Firmware"

robocopy.exe %Source_path% %Destination_path% /COPYALL /ZB /MIR /MT:128 /DCOPY:T /XA:SH /XD %ED1% /XD %ED2% /XJ /XJD /R:2 /W:1 /NDL /NP /TEE /LOG:%Log_Path_and_File%

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