কিভাবে কনসোল লগ ইন অগ্রগতি সঙ্গে রবোকপি?


8

আমি এমন রবোকপি চালাতে চাই যা% অগ্রগতির সাথে কনসোলটি আপডেট করবে তবে% অগ্রগতির সাথে লগ ফাইলটিকে বিশৃঙ্খলা করবে না।

নিম্নলিখিত রোবকপি কমান্ডটি পছন্দসই অনুলিপি সম্পাদন করবে এবং লগ ফাইলের লগিংয়ের তথ্য সংযোজন করবে।

RoboCopy <source> <dest> /log+:<log file> /tee

সমস্যাটি হ'ল লগ ফাইলটি% অগ্রগতি আপডেটের সাথে বিশৃঙ্খল। সুতরাং আমাকে এই আদেশটি পরিবর্তন করতে হবে:

RoboCopy <source> <dest> /log+:<log file> /tee /np

এখন সমস্যা হচ্ছে আমি স্ক্রিনে কোনও% অগ্রগতি আপডেট পাচ্ছি না।

আমি এখন কয়েকবার http://technet.microsoft.com/en-us/library/cc733145%28WS.10%29.aspx পড়েছি এবং আমার প্রয়োজনীয় একটি স্যুইচ (এস) খুঁজে পাচ্ছি না। আমি কি কিছু মিস করছি বা আমি যা অর্জন করতে চাই তা সম্ভব নয়?


আপনার কি কেবল বিল্টিন সরঞ্জামই ব্যবহার করতে হবে?
হ্যালো 71

উত্তর:


2

যেহেতু এত দিন কেউ এর জবাব দেয় নি, আমি ভেবেছিলাম আমি বেশ কয়েকটি বিষয় প্রস্তাব করব।

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

সেখানে একটি একক .exe ফাইলের সংস্করণ sedমধ্যে UnxUtils (আপডেট জিপ একটি সামান্য বেশি আপ টু ডেট সংস্করণের সাথে)।

অন্য বিকল্পের পরিবর্তে XXCOPY ব্যবহার করা হবে Robocopy। এটা আছে সুইচ সত্যিই হাস্যকর সংখ্যা (ওভার 230), যা আপনি যাই হোক না কেন চাও করতে পারবেন। আপনি কোনটি ব্যবহার করতে চান তা বেছে নেওয়ার জন্য আপনাকে পুরো একটি সন্ধ্যা কাটাতে হবে। আপনি যদি এটি ব্যবহার করতে পছন্দ করেন তবে এটিতে একটি জিইউআই অগ্রগতি সংলাপ বাক্সও রয়েছে।

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

XXCOPY

আর একটি বিকল্প হ'ল রিচকপি , এর একটি জিইউআই রয়েছে যা আপনার বিকল্পগুলি বেছে নিতে ব্যবহার করতে পারে। এরপরে এটি আপনাকে ব্যাচের স্ক্রিপ্টগুলিতে ব্যবহারের জন্য কমান্ড-লাইনটি সরবরাহ করতে পারে।

RichCopy


1

পুনরায়: রোবোকপি এবং লগড অগ্রগতি 'গোলমাল'

সমাধান: জাস্ট / টিআইই ব্যবহার করুন এবং এটি 'শোরগোল' লগ করুন, অন্যথায় আপনি কোনও অগ্রগতি দেখতে পাবেন না। তারপরে লগফিলটি পরিষ্কার করার জন্য প্রথমে পরামর্শ মতো সেড ব্যবহার করুন:

sed -i.bak "s / \ x0d। * \ x0d। * $ //" logfile.txt

আপনি যদি অনুপযুক্ত ব্যাকআপ না চান তবে .bak সরান। সেড এখানে উইন্ডোজের জন্য উপলব্ধ, এবং কমপক্ষে একক * লাইন ব্যবহারের জন্য, সূক্ষ্মভাবে কাজ করে।

http://gnuwin32.sourceforge.net/packages/sed.htm

* (ইউনিক্স বাশ / শেল স্ক্রিপ্টগুলিতে সেড কমান্ডগুলি প্রায়শই একাধিক লাইনের উপরে ছড়িয়ে থাকে, আরও নমনীয়তা এবং জটিলতা যুক্ত করে .. আমি সে ধরণের সেড কমান্ডগুলি উইন্ডোজ সিএমডি স্ক্রিপ্টগুলির সাথে কাজ করার আশা করি না, তবে সেডগুলি উইন্ডোজগুলির নীচে দরকারী)।


+1 টি সেখানে পাইপ একটি উপায় নয় stdoutমাধ্যমে sedসরাসরি?
প্যারাড্রয়েড

1
অবশ্যই আপনি সেডের মাধ্যমে পাইপ করতে পারেন, তবে এটি কনসোল প্রদর্শন থেকে অগ্রগতির তথ্য এবং সেইসাথে সম্ভবত লগ
ম্যাক

অবশ্যই, তবে আমি ভেবেছিলাম teeরোবকপির /TEEসুইচের পরিবর্তে কমান্ডটি ব্যবহার করা যেতে পারে , তবে আমি কেবল বুঝতে পেরেছি যে এটি TCC/LEকোনও স্ট্যান্ডার্ড CMDকমান্ডের নয়, একটি অংশ । এটি PowerShellযদিও পাওয়া যায় ।
প্যারাড্রয়েড

প্রকৃতপক্ষে .. এটি এখনও লগফাইলে অগ্রগতি লিখুন! যা চেয়েছিল তার ঠিক বিপরীতটি। আমি কেবল এটির মাধ্যমে পরীক্ষা করেছি: রোবোকপি। tst /log:n:\tst.log / te | সেড "s / \ x0d। * \ x0d। * $ //"
ম্যাক

টি gnuwin32 থেকেও পাওয়া যায় .. তবে একই সমস্যা হবে;) gnuwin32.sourceforge.net/packages/coreutils.htm
ম্যাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.