पावरशेल 3
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item
पावरशेल 2
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-5)} | Remove-Item
व्याख्या
- सबसे पहले हमें पथ सी: बैकअप में FileInfo और DirectoryInfo ऑब्जेक्ट प्राप्त होते हैं।
- FileInfo और DirectoryInfo ऑब्जेक्ट्स में दोनों में CreationTime प्रॉपर्टी होती है, इसलिए हम इसका उपयोग करके संग्रह फ़िल्टर कर सकते हैं।
- -एलटी (कम से कम) ऑपरेटर का उपयोग ऑब्जेक्ट्स की क्रिएशनटाइम प्रॉपर्टी की तुलना करने के लिए किया जाता है, जिसमें गेट-डेट (वर्तमान तिथि) 5 दिनों घट जाती है।
- यह हमें उन वस्तुओं के संग्रह के साथ छोड़ देता है जो 5 दिन पहले बनाए गए थे, जिन्हें हम निकालें-आइटम पास करते हैं।
प्रो टिप
यह देखने के लिए कि क्या हटाया जाएगा आप -WhatIf पैरामीटर का उपयोग कर सकते हैं:
Get-ChildItem –Path “C:Backups” –Recurse | Where-Object CreationTime –lt (Get-Date).AddDays(-5) | Remove-Item –WhatIf
सही कमाण्ड
जबकि हम अनुशंसा करते हैं कि आप पावरशेल विधियों में से किसी एक का उपयोग करें, बिना किसी किरदार विवरण के प्राप्त करने के लिए आप इसे कमांड प्रॉम्प्ट से भी कर सकते हैं।
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c del @path'
प्रो टिप
यह देखने के लिए कि कौन सी फाइलों को हटाया जा रहा है, आप गूंज का उपयोग कर सकते हैं।
forfiles -p 'C:Backups' -s -m *.* -d -5 -c 'cmd /c echo @file'