نرم افزاری جهت پاک کردن اتوماتیک فایلها
با سلام.دوستان من دنبال یک نرم افزاری همستم که به صورت دوره ای تعدادی فایل رو برام پاک کنه.با چه نرم افزاری میتونم این کار رو کنم.نکته ای که هست اینه که این فایلها به صورت اتوماتیم تولید میشن و اسمشون در هر بار تولید متفاوته.
13 پاسخ
ممنون از شما.من هدفم اینه همه کارها اتوماتیک انجام بشه.مثال شما مثال خوبی هستش منتها باید فایل bat رو دستی اجراش کرد.من میخام اینم اتوماتیک انجام شه
دستور زیر میتونه بهتون کمک کنه:
forfiles -p "C:\backups" -s -m *.bak /D -4 /C "cmd /c del @path"
دستور بالا فایلهای داخل دایرکتوری با مسیر C:\backups که پسوندشون .bak هست و طول عمرشون قدیمی تر از 4 روز هست رو دیلیت میکنه. این دستور رو به کمک Task scheduler که دوست عزیزمون wisemadguy معرفی کردند به کار ببرید فکر کنم مشکلتون حل شه.
سه صفحه زیر رو برای راهنمایی بیشتر میتونید مطالعه بفرمایید.
دستور ذکر شده تست شد و کاملا صحیح اجرا می شود. لینک ها هم اصلاح شد.
اگر دستور help rd رو داخل cmd بنویسید راهنمای کامل رو بهتون نشون میده:
Removes (deletes) a directory. RMDIR [/S] [/Q] [drive:]path RD [/S] [/Q] [drive:]path /S Removes all directories and files in the specified directory in addition to the directory itself. Used to remove a directory tree. /Q Quiet mode, do not ask if ok to remove a directory tree with /S
سلام.ممنون از دوستان.صحبتتاتون کاملا درسته.منتها فرض کنید هر روز یک فایل توی یک فولدر ساخته میشه.حالا من میخام هر هفته تعداد تا فایل اول پاک شه اما تای اخری بمونه.الان من حتی اگر طبق مثال دوستمون job هم براش بنویسم جاپ کل فایلهای توی فولدر رو پاک میکنه و مشکل من الان اینه
اگر قصد دارید کل فایلها با یک پسوند خاص مثلا .temp رو پاک کنید میتونید یک فایل bat درست کنید و دستور زیر رو توش بنویسید و هر بار که اجراش کنید کل فایلهایی که فرمتشون .temp هست دیلیت خواهد شد.( این که پسوند فایلهای شما چی هست رو نمیدونم به عنوان مثال .temp رو نوشتم. )
del *.temp
نحوه ساخت فایل bat:
notepad رو باز کنید و دستور بالا رو توش بنویسید. حالا از منوی File گزینه save as رو بزنید و گزینه save as type رو به all files تغییر بدید و بعدش file name رو به اسم دلخواه با فرمت .bat (مثلا delete.bat) تغییر بدید و سیو کنید. (Encoding : ANSI)
حالا اگر اون فایل رو در اون پوشه اجرا کنید کلیه فایلها به صورت اتوماتیک در اون فولدر خاص پاک خواهد شد.
این یه نکته کار راه انداز کوچیکه و نیاز به نرم افزار خاصی نداره. نرم افزار هایی هست که این کار رو انجام بده که حتما دوستان در ادامه معرفی خواهند کرد.
اگر منظورتون این بود دو دایرکتوری (فولدر) دیلیت بشن میتونید از شیوه زیر استفاده کنید.
@RD /S /Q "D:\folder1","D:\folder2"
/S به این معنی هستش که کلیه فایلها و دایرکتوری های موجود و خود فولدری که مشخص کردیم دیلیت بشه.
/Q به این معنی هستش که برای دیلیت دایرکتوری پیامی برای تایید به کاربر نشون داده نشه و به صورت ساکت و مخفیانه حذف بشن.
یک سوال دیگه ازتون دارم.اگر بخایم مثلا دو تا فایل فولدر پاک شن و بقیه باقی بمونند باید چه چیزی توی notepad بنویسیم؟ممنون
سلام کودر من حالتون خوبه ، کدهایی که گذاشتید خیلی عالی بودن فقط یک سوال این فایلها که پاک میشوند ، با برنامه ریکاوری قابل بازیابی هستند ؟
اگر هستند ، و اگر کدی هست که بشه پاک کرد که دیگه با ریکاوری قابل بازگشت نباشند را بزارید ممنون میشم .
اگر امکانش هست مشکلتون رو کامل و با جزئیات مطرح کنید که راهنمایی درست برای نوشتن فایل Batch خدمتتون عرض کنم.
تصویر ذهنی من از چیزی که فرمودید این بود که :
- فولدری هست که هرروز یک فایل داخلش ساخته میشه. (پسوند یا فرمت فایل چیست؟)
- شما قصد دارید هفته ای یک بار فایلهای داخل دایرکتوری رو حذف کنید.
- فایلهایی که طول عمرشون مثلا از یک روز کمتر باشه حذف نشن. (این دقیق توضیح بدید.)
- بقیه فایل ها حذف بشن.
در صورتی که اشتباه میکنم اصلاح کنید و مساله رو دقیق و با جزییات شرح بدید. ممنون
سلام.به ترتیب جواب سوالات رو براتون مینویسم :
1-پسوندش .bak هست
2-من قصد دارم هفته ای یکبار محتویات فولدر رو پاک کنم به این صورت که طبق توضیحات قبلی هر روز یک فایل توی این فولدر ساخته میشه و.در نتیجه در روز هفتم ما 7 تا فایل توی این فولدر داریم.حالا من میخام روز هفتم سه تا فایل اولی که ایجاد شده پاک شه و چهار تای اخری باقی بمونه.( مثلا فایلهای روز شنبه و یکشنبه و دوشنبه حذف شن اما سه شنبه و چهار شبه و جمعه باقی بمونند.حالا هفت روز بعدی سه تای اولی که میشه از سه شنبه تا جمعه حذف شن و به همین منوال ادامه پیدا کنه
ممنون.من این دستور رو اجرا کردم هیچ اتفاقی نمیافته.لینکهایی هک گذاشتید هیچ کدوم باز نشد.
جواب جناب coderman درست هست و اگر برای روزهای خاصی با فواصل دوره ای میخواین این کار انجام بشه در Task scheduler که از امکانات خود ویندوز هست برای اجرای دوره ای bat فایل مورد نظر استفاده کنید .