উইন্ডোজ নির্ধারিত টাস্ক - .bat চিরতরে রান


0

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

মূলত এটি একটি রান .bat এই মত দেখায় লাইন পূর্ণ ফাইল:

FORFILES /P "D:\Folder1\SubFolder1" /D -30 /C "cmd /c del /F /Q @path"
FORFILES /P "D:\Folder1\SubFolder4" /D -30 /C "cmd /c del /F /Q @path"

আমি লক্ষ্য করেছি যে কাজ প্রায়ই শেষ হয় না; এবং আমি জানি না কেন। দ্য .bat ফাইলটি নিজে নিজে চালানোর সময় কয়েক মিনিটের মধ্যে শেষ হয় এবং ফোল্ডারগুলি পরে পরিষ্কার করা হয়।

আমি মনে করতে পারি যে কখনও কখনও একটি প্রম্পট প্রদর্শিত হতে পারে:

মুছুন [...] আপনি কি নিশ্চিত? (Y / N): _

কারণ subfolders মধ্যে recursive মুছে ফেলার। নোটিশ আমি যোগ /F এবং /Q সুইচ del কমান্ড।

কিভাবে আমি টাস্ক স্বয়ংক্রিয়ভাবে উত্তর দিতে পারেন তা নিশ্চিত করতে পারেন Y প্রদর্শিত হতে পারে যে কোন প্রম্পট? নাকি আমার সমস্যাটি সমাধানের জন্য এই পদক্ষেপটি নেওয়া উচিত নয় - আমার উন্নতি করা উচিত .bat ফাইল?


আপনি একটি লগ ফাইলে stdout এবং stderr লগ করার জন্য স্ক্রিপ্ট পেতে পারেন।
ctrl-alt-delor

@ রিচার্ড ভাল ধারণা যে টাস্ক যোগ করুন। আমি আগামী সপ্তাহগুলিতে এই ফাইলগুলি নিরীক্ষণ করব এবং আপনাকে ফলাফল জানাতে দেব।
MarioDS

কেমন: (forfiles / ডি -30 / c "cmd / c del / q @ ফাইল") & amp; amp; (forfiles / d-30 / c "cmd / c rd / q / s @ ফাইল") ?
MAKZ

@ ম্যাকজেড না, ডিরেক্টরী গাছটি অবশ্যই সর্বদা রাখা উচিত।
MarioDS

উত্তর:


2

আপনার সমস্যা মনে হচ্ছে যে forfiles ফাইল এবং ডিরেক্টরি উভয়ই খুঁজে পায়, এবং আপনি কেবল ফাইল মুছে ফেলার জন্য খুঁজছেন।

অনুগ্রহ করে এই কমান্ডটি ব্যবহার করুন:

"cmd / c যদি @ isdir == FALSE del @path"

এটি শুধুমাত্র ডেল কমান্ডটি ফায়ার করবে যদি ফরফিল ইরেক্টরেটর একটি ডিরেক্টরি নির্দেশ করে না।

আমি -Q, অন্তত এখন জন্য, ছেড়ে যেতে হবে কিনা দেখতে এই ঠিক আছে। কিন্তু আমার মনে হয় আপনি সঠিক জিনিসগুলিকে লক্ষ্য করলে নিশ্চিতকরণ / টিস্যু নিশ্চিত করতে চান না।

এছাড়াও, আপনি যদি শুধুমাত্র-পাঠযোগ্য ফাইলগুলি মুছতে চান তবে / f কেবলমাত্র প্রয়োজন। আপনি নিশ্চিত এটা শুধুমাত্র প্রয়োজন হলে শুধুমাত্র জোর :)

গুড লাক, এই সাহায্য করে আশা করি।


যে সম্ভবত আমার জন্য একটি উন্নতি .bat, তার জন্য আপনাকে ধন্যবাদ, কিন্তু আপনি কীভাবে ব্যাখ্যা করবেন যে এটি ভালো চলছে এবং এটি করার চেষ্টা সম্পর্কে ত্রুটিগুলি দেয় না del একটি ফোল্ডার?
MarioDS

যে কোন ক্ষেত্রে, আমি উভয় মুছে ফেলা /F এবং /Q সুইচ এবং আপনার অন্তর্ভুক্ত if @isdir==FALSE সর্বত্র চেক করুন। টাস্ক দৌড়ে জরিমানা কিন্তু এখন ফোল্ডারে অনেক ফাইল নেই। এটি যদি নিকট ভবিষ্যতে ব্যর্থ হয় তবে আমি আবার রিপোর্ট করব।
MarioDS

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