नए को रखने के दौरान रीसायकल बिन से पुरानी फ़ाइलों को स्वचालित रूप से हटाना?


25

मुझे एक खोजकर्ता ऐड-ऑन चाहिए, जो एक समय अवधि के बाद पुरानी फ़ाइलों को रीसाइक्लिंग बिन से हटा देगा।

उदाहरण के लिए, मैं 30 दिनों की समय सीमा निर्धारित करना चाहता हूं। जब मैं विंडोज में कोई फाइल डिलीट करता हूं, तो सॉफ्टवेयर उसके डिलीट-टाइम का रिकॉर्ड रखेगा। हर दिन, वह नष्ट हो चुकी फ़ाइल के लिए स्कैन करेगा जिसकी आयु 30 दिनों तक पहुँच गई है, और यदि कोई है तो उसे हटा दें।

क्या इस तरह का कोई सॉफ्टवेयर है?


शायद, एक समय सीमा निर्धारित करने के बजाय, आप रीसायकल बिन को स्वचालित रूप से सबसे पुरानी वस्तुओं को हटा सकते हैं जब एक निश्चित आकार सीमा समाप्त हो गई है? क्या यह स्वीकार्य होगा?
विलियम जैक्सन

3
@WilliamJackson उन लोगों के लिए एक समाधान हो सकता है जिनके पास हार्ड डिस्क स्थान सीमित है। लेकिन मेरे मामले में, मैं यह सुनिश्चित करना चाहता हूं कि मैं हाल ही में हटाए गए फ़ाइल के नुकसान के कारण रीसाइक्लिंग फ़ाइल को खाली करने का पछतावा नहीं करूंगा। इस प्रणाली के साथ, मैं बस रीसायकल बिन के बारे में भूल जाऊंगा, यह अपने आप ही खाली हो जाएगा, और मेरे पास एक नष्ट हुई फ़ाइल को पुनर्प्राप्त करने के लिए बहुत समय होगा यदि मुझे बाद में पछतावा होता है।
hkBattousai

1
Gnu / linux की दुनिया में, KDE में यह सुविधा है, और मुझे लगता है कि यह प्रयोज्य के लिए बहुत अच्छा है। मुझे 1 महीने से अधिक समय तक कचरे को फाइलों में क्यों रखना चाहिए? यह तरीका पुरानी फ़ाइलों के साथ आपके कूड़ेदान को अव्यवस्थित नहीं कर सकता है जो आपके लिए प्रासंगिक नहीं होगा, इसलिए जब आपको इसकी आवश्यकता होती है तो एक या एक से अधिक फ़ाइलों को ढूंढना और उन्हें पुनर्प्राप्त करना बहुत आसान होता है (यदि आप बहुत ही उपयोगी पाठ काम करते हैं फ़ाइलें, जो हमेशा छोटी होती हैं), और डिस्क स्पेस को उन फ़ाइलों के साथ बर्बाद न करें जो आपके लिए अधिक उपयोगी नहीं हैं।
gerlos

यह एक खोजकर्ता नहीं है, और यह केवल 24 घंटे का है, लेकिन CCleaner के पास यह विकल्प i.imgur.com/JaeJhzU.png है
मैथ्यू लॉक

जवाबों:


9

RecycleBinEx विंडोज के लिए एक सरल अनुप्रयोग है जो वास्तव में आपके द्वारा पूछा जाता है। देखें: http://www.fcleaner.com/recyclebinex

मैक OSX पर, हेज़ल वही काम करती है (दूसरों के बीच): http://www.noodlesoft.com/

केडीई प्लाज्मा इस सुविधा को डिफ़ॉल्ट रूप से जहाज करता है , इसलिए यदि आप केडीयू के साथ कुबंटू, आर्क, चकेरा लिनक्स या किसी अन्य डिस्ट्रो को चला रहे हैं, तो आपके पास पहले से ही यह सुविधा है। बस डॉल्फिन कॉन्फ़िगरेशन विंडो को देखें।

उबंटू यूनिटी, गनोम या किसी अन्य गन्नू / लिनक्स डेस्कटॉप वातावरण पर एक मानक FreeDesktop.org प्रदान करता है। इस फीचर को करने के लिए आप AutoTrash का उपयोग कर सकते हैं : http://www.logfish.net/pr/autotrash/
समान व्यवहार भी पूरा किया जा सकता है साथ कचरा CLI , वह भी कचरा करने के लिए फ़ाइलें भेजने के लिए इस्तेमाल किया जा सकता कमांड लाइन से सही कर सकते हैं। देखें: https://github.com/andreafrancia/trash-cli

अधिकांश ईमेल ऐप्स में यह सुविधा उनके "कचरा कर सकते हैं" के लिए भी है।

एंड्रॉइड पर डिफ़ॉल्ट रूप से कोई "कचरा कैन" नहीं है (जब आप इसे हटाते हैं, तो यह हमेशा के लिए चला गया है), लेकिन आप डंपस्टर जैसे एप्लिकेशन इंस्टॉल कर सकते हैं (किसी तरह) समान सुविधाएं प्राप्त करें: http://www.dumpsterapp.mobi/

जैसा कि ऊपर कहा, मुझे लगता है कि स्वचालित रूप से कचरा पेटी से पुराने फ़ाइलों को हटाने है एक महान सुविधा इसे बनाने के लिए अधिक उपयोगी है, क्योंकि यह अव्यवस्था कम कर देता है (उन फ़ाइलों को आप 3 महीने पहले अभी भी प्रासंगिक ट्रैश किए आप के लिए? और उसी के सभी उन पुराने संशोधन कर रहे हैं फ़ाइल?) और यह पता लगाना आसान बनाता है कि आप क्या पुनर्प्राप्त करना चाहते हैं (यह हमारे कंप्यूटरों पर "कचरा कर सकते हैं", आखिरकार) सुरक्षित होने का कारण है।

यदि आप पाठ फ़ाइलों (कोड या गद्य) के साथ बहुत अधिक काम करते हैं, तो यह और भी उपयोगी है, कि अधिकांश समय छोटे होते हैं और बहुत अधिक स्थान की आवश्यकता नहीं होती है (इसलिए कभी भी आपका कचरा कोटा नहीं पहुंच सकता है)। इस तरह आपको समय-समय पर "अपना कचरा खाली कर सकते हैं" की आवश्यकता नहीं होगी। आपको बस इतना पता है कि आपके पास ज़रूरत पड़ने पर अपनी "ट्रैशेड" फ़ाइलों को पुनर्प्राप्त करने के लिए समय की एक खिड़की है।

अधिकांश क्लाउड सेवाओं को देखते हुए (ड्रॉपबॉक्स, Google ड्राइव, सिंपलोटन, ...), उनमें से अधिकांश को हटाए गए फ़ाइलों के समान नीति है। मुझे वास्तव में लगता है कि आपकी फ़ाइलों के साथ यह करना सही है, और वे ऐसा सोचते हैं।


1
जब से आपने यहाँ अपना उत्तर पोस्ट किया है, मैं इस सॉफ़्टवेयर का उपयोग कर रहा हूँ। यह काफी अच्छा है। मैं इससे संतुष्ट हूं। मेरा यही सुझाव है। यह ठीक वही है जिसकी मुझे तलाश थी। आपके उत्तर के लिए धन्यवाद।
hkBattousai

1
उस सूची में एक अच्छा जोड़ यह है कि trash-cliकमांड लाइन कचरा उपकरण के समान है autotrash, जो आपको कमांड लाइन से भी कचरा भेजने के लिए फाइल भेजता है। देखें webupd8.org/2010/02/make-rm-move-files-to-trash-instead-of.html और github.com/andreafrancia/trash-cli
Gerlos

विंडोज 10 में RecycleBinEx काम करेगा? ऐसा प्रतीत नहीं होता है कि विंडोज 10 में एक डिफ़ॉल्ट फ़ीचर दिया गया है
भी_ड्रीमिंग

1
@ still_dreaming_1 पिछली बार जब मैंने (कई महीने पहले) कोशिश की थी, RecycleBinExतो मैं विंडोज 10 पर काम करना चाहता था। लेकिन मैं इसे अपने मुख्य सिस्टम के रूप में उपयोग नहीं करता, इसलिए मैं यह नहीं बता सकता कि क्या यह अभी भी सिस्टम के हाल के अपडेट के साथ काम करता है।
gerlos

1
मैंने सिर्फ विंडोज पर RecycleBinEx की कोशिश की। GUI में कुछ अजीब व्यवहार है - रीसायकल बिन में कुछ फाइलें एकल-वर्ण फ़ाइल नाम के साथ दिखाई देती हैं - लेकिन X दिनों से अधिक पुरानी फ़ाइलों को हटाने के लिए कमांड-लाइन विकल्प ठीक काम करता है। कमांड लाइन विकल्प देखने के लिए, "RecycleBinEx.exe /?" टाइप करें। कमांड लाइन पर।
हारून

17

मुझे किसी भी एक्सप्लोरर ऐड-ऑन का पता नहीं है, लेकिन विंडोज की अधिकांश चीजों की तरह, यह PowerShell के साथ किया जा सकता है:

ForEach ($Drive in Get-PSDrive -PSProvider FileSystem) {
    $Path = $Drive.Name + ':\$Recycle.Bin'
    Get-ChildItem $Path -Force -Recurse -ErrorAction SilentlyContinue |
    Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
    Remove-Item -Recurse
}

इस स्क्रिप्ट को एक .ps1एक्सटेंशन के साथ एक पाठ फ़ाइल के रूप में सहेजें । फिर आप इसे नियमित अंतराल पर चलाने के लिए टास्क शेड्यूलर का उपयोग कर सकते हैं।

सबसे पहले, हालाँकि, आपको PowerShell स्क्रिप्ट के निष्पादन की अनुमति देने की आवश्यकता है, क्योंकि डिफ़ॉल्ट रूप से आप केवल PowerShell प्रॉम्प्ट में सीधे टाइप की गई कमांड निष्पादित कर सकते हैं। ऐसा करने के लिए, PowerShell खोलें और निम्न कमांड टाइप करें:

Set-ExecutionPolicy RemoteSigned

संकेत दिए जाने पर "y" या "हां" टाइप करें। Get-Help Set-ExecutionPolicyअधिक जानकारी के लिए देखें ।

अब कार्य शेड्यूलर खोलें और निम्नलिखित मापदंडों के साथ एक नया कार्य बनाएँ:

  1. "सामान्य" टैब के तहत, एक नाम दर्ज करें और "उच्चतम विशेषाधिकार के साथ चलाएँ" विकल्प की जांच करें
  2. "ट्रिगर" टैब के तहत, एक नया ट्रिगर जोड़ें और दैनिक चलाने के लिए कार्य सेट करें
  3. "क्रियाएँ" टैब के तहत, एक नई क्रिया जोड़ें:
    • टाइप करें "प्रोग्राम शुरू करें"
    • "प्रोग्राम / स्क्रिप्ट" फ़ील्ड पर सेट करें C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    • में "तर्क जोड़ें" फ़ील्ड सेट करें -NonInteractive -File "C:\path\to\script.ps1"
  4. "शर्तों" टैब के तहत, "एसी बिजली पर कंप्यूटर होने पर ही कार्य शुरू करें" को अनचेक करें

स्क्रिप्ट की लाइन-दर-पंक्ति व्याख्या:

ForEach ($Drive in Get-PSDrive -PSProvider FileSystem) {

यह कंप्यूटर में सभी ड्राइव की एक सूची प्राप्त करता है और एक-एक करके उनके माध्यम से लूप करता है। -PSProvider FileSystemपैरामीटर, केवल वापसी डिस्क ड्राइव करने के लिए आवश्यक है क्योंकि PowerShell भी रजिस्ट्री पित्ती की तरह विभिन्न अन्य चीजों के लिए pseudodrives है।

अधिक जानकारी के लिए, PowerShell में लूप प्रोसेसिंग पर यह ट्यूटोरियल देखें Get-Help Get-PSDriveऔर देखें ।

$Path = $Drive.Name + ':\$Recycle.Bin'

यह वर्तमान ड्राइव पर रीसायकल बिन फ़ोल्डर के लिए पथ का निर्माण करता है। PowerShell को व्याख्या करने से रोकने के लिए, दूसरे भाग के चारों ओर एकल उद्धरणों के उपयोग पर ध्यान दें$Recycle को एक चर के रूप में ।

Get-ChildItem $Path -Force -Recurse -ErrorAction SilentlyContinue |

यह दिए गए पथ के तहत सभी फ़ाइलों और सबफ़ोल्डरों को लौटाता है (जिसे हमने पिछली कमांड के साथ बनाया था)। -Forceपैरामीटर छिपे रहते हैं और सिस्टम फ़ोल्डर में जाने के लिए की जरूरत है, और -Recurseपैरामीटर आदेश पुनरावर्ती बना देता है, अर्थात्। सभी उपनिर्देशिकाओं के माध्यम से भी पाश।-ErrorActionअधिकांश PowerShell आदेशों के लिए एक मानक पैरामीटर है, और मान SilentlyContinueकमांड त्रुटियों को अनदेखा करता है। इसका उद्देश्य उन ड्राइव के लिए त्रुटियों को रोकना है जिन्हें तुरंत फ़ाइलों को हटाने के लिए कॉन्फ़िगर किया गया है। |बहुत अंत पाइप अगले आदेश के लिए परिणामों को प्रतीक; बेहतर पठनीयता के लिए मैंने इसे कई पंक्तियों में विभाजित किया।

अधिक जानकारी के लिए, देखें Get-Help Get-ChildItem

Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |

यह केवल पिछली कमांड के परिणामों को फ़िल्टर करता है और केवल उन्हीं को लौटाता है जो 30 दिनों से अधिक पुराने होते हैं। $_वर्तमान में संसाधित की जा रही वस्तु को संदर्भित करता है, औरLastWriteTime इस मामले में संपत्ति उस तारीख और समय को संदर्भित करती है जो फ़ाइल हटा दी गई थी। Get-Dateवर्तमान दिनांक लौटाता है।

अधिक जानकारी के लिए, देखें Get-Help Where-Objectऔर Get-Help Get-Date

Remove-Item -Recurse

यह केवल पिछली कमांड द्वारा इसमें पास की गई वस्तुओं को हटा देता है। -Recurseपैरामीटर स्वचालित रूप से गैर खाली सबफ़ोल्डरों की सामग्री को हटा देता है; इसके बिना, आपको ऐसे फ़ोल्डर के लिए संकेत दिया जाएगा।

अधिक जानकारी के लिए, देखें Get-Help Remove-Item


मैंने इसे बनाया। इस बारे में विस्तार से बताने के लिए आपका बहुत-बहुत धन्यवाद।
hkBattousai 16

3
वैकल्पिक रूप से निष्पादन नीति को विश्व स्तर पर स्थापित करने के लिए, आप एक कमांड लाइन बना सकते हैं जो इसे प्रक्रिया के लिए सेट करती है powershell -ExecutionPolicy RemoteSigned -File .\myscript.ps1:।
jpmc26

खोजकर्ता के विवरण में रीसायकल बिन को देखने के लिए एक विशेष कॉलम है: "डेट डिलीट", मुझे आश्चर्य है कि हम इसके बजाय इसका उपयोग कैसे फ़िल्टर कर सकते हैं? LastWriteTime किसी भी तरह से एक ही बात नहीं है।
Ciantic

बहुत जल्द बोला, यह पाया: baldwin-ps.blogspot.fi/2013/07/… "इसमें एक" डेट डिलीट "भी है।
Ciantic

4

जब यह अधिकतम आकार तक पहुँच जाता है तो विंडोज रीसायकल बिन स्वचालित रूप से पुरानी फ़ाइलों को हटा देता है: जब रीसायकल बिन अपने आवंटित स्थान का उपयोग करता है तो क्या होता है?

आप इसे Recylce Bin के गुणों से नियंत्रित कर सकते हैं

यहाँ छवि विवरण दर्ज करें


1
यह उत्तर प्रश्न का उत्तर नहीं देता है, क्योंकि यह तंत्र फाइलों की विशिष्ट आयु को ध्यान में नहीं रखता है; यह केवल डेटा की पूर्व निर्धारित मात्रा को बनाए रखने के लिए मनमानी उम्र की सबसे पुरानी फ़ाइलों को हटा देता है।
जोनाथन जे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.