hkB*_*sai 28 windows windows-explorer recycle-bin
我想要一个资源管理器插件,它会在一段时间后从回收站中删除旧文件。
例如,我想将时间限制设置为 30 天。当我在 Windows 中删除文件时,软件会记录删除时间。每天扫描30天以内的已删除文件,如有则删除。
有没有这样的软件?
Ind*_*rek 18
我不知道任何资源管理器附加组件,但与 Windows 中的大多数事情一样,这可以通过 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
}
Run Code Online (Sandbox Code Playgroud)
将此脚本保存为带有.ps1
扩展名的文本文件。然后,您可以使用任务计划程序定期运行它。
但是,首先,您需要允许执行 PowerShell 脚本,因为默认情况下您只能执行直接输入到 PowerShell 提示符中的命令。为此,请打开 PowerShell 并键入以下命令:
Set-ExecutionPolicy RemoteSigned
Run Code Online (Sandbox Code Playgroud)
出现提示时输入“y”或“yes”。有关Get-Help Set-ExecutionPolicy
更多信息,请参阅。
现在打开任务计划程序并使用以下参数创建一个新任务:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
-NonInteractive -File "C:\path\to\script.ps1"
脚本的逐行解释:
ForEach ($Drive in Get-PSDrive -PSProvider FileSystem) {
Run Code Online (Sandbox Code Playgroud)
这将获取计算机中所有驱动器的列表,并逐一循环遍历它们。该-PSProvider FileSystem
参数仅用于返回磁盘驱动器,因为 PowerShell 还具有用于各种其他事物(如注册表配置单元)的伪驱动器。
欲了解更多信息,请参见Get-Help Get-PSDrive
与本教程的循环处理在PowerShell中。
$Path = $Drive.Name + ':\$Recycle.Bin'
Run Code Online (Sandbox Code Playgroud)
这将构建当前驱动器上回收站文件夹的路径。请注意在第二部分周围使用单引号,以防止 PowerShell 解释$Recycle
为变量。
Get-ChildItem $Path -Force -Recurse -ErrorAction SilentlyContinue |
Run Code Online (Sandbox Code Playgroud)
这将返回给定路径下的所有文件和子文件夹(我们用上一个命令构建的那个)。-Force
进入隐藏和系统文件夹需要该参数,该-Recurse
参数使命令递归,即。也循环遍历所有子目录。-ErrorAction
是大多数 PowerShell 命令的标准参数,该值SilentlyContinue
使命令忽略错误。这样做的目的是防止已配置为立即删除文件的驱动器出错。最后的|
符号将结果传递给下一个命令;为了更好的可读性,我把它分成了几行。
有关更多信息,请参阅Get-Help Get-ChildItem
。
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
Run Code Online (Sandbox Code Playgroud)
这只是过滤了上一个命令的结果,并只返回那些早于 30 天的结果。$_
指的是当前正在处理的对象LastWriteTime
,本例中的属性指的是文件被删除的日期和时间。Get-Date
返回当前日期。
有关更多信息,请参阅Get-Help Where-Object
和Get-Help Get-Date
。
Remove-Item -Recurse
Run Code Online (Sandbox Code Playgroud)
这只是删除了上一个命令传递给它的项目。该-Recurse
参数自动删除非空子文件夹的内容;如果没有它,系统会提示您输入此类文件夹。
有关更多信息,请参阅Get-Help Remove-Item
。
ger*_*los 10
RecycleBinEx是一个简单的 Windows 应用程序,它完全符合您的要求。请参阅:http : //www.fcleaner.com/recyclebinex
在 Mac OSX 上,Hazel做同样的事情(除其他外):http : //www.noodlesoft.com/
KDE Plasma默认提供此功能,因此如果您使用 KDE 运行 Kubuntu、Arch、Chackra Linux 或任何其他发行版,您已经拥有此功能。只需查看 Dolphin 配置窗口。
在 Ubuntu Unity、Gnome 或任何其他提供标准 FreeDesktop.org Trash 功能的 gnu/linux 桌面环境上,您可以使用AutoTrash来执行此操作:http : //www.logfish.net/pr/autotrash/
也可以完成类似的行为使用trash-cli,它也可以用于直接从命令行将文件发送到垃圾箱。见:https : //github.com/andreafrancia/trash-cli
大多数电子邮件应用程序的“垃圾桶”也具有此功能。
在 Android 上,默认情况下没有任何“垃圾桶”(当你删除它时,它就永远消失了),但你可以安装像Dumpster这样的应用程序来(以某种方式)获得类似的功能:http : //www.dumpsterapp.mobi/
如上所述,我认为自动从垃圾箱中删除旧文件是一个很好的功能,可以使它更有用,因为它减少了混乱(您 3 个月前删除的那些文件是否仍然与您相关?所有那些旧版本的相同文件?),并且可以更轻松地找到要恢复的内容(毕竟,这就是在我们的计算机上放置“垃圾桶”的原因),而且仍然安全。
如果您经常使用文本文件(代码或散文),它会更有用,大多数时间都很小,不需要太多空间(因此可能永远不会达到您的垃圾桶配额)。这样您甚至不需要定期“清空垃圾桶”。您只知道如果需要,您有一个时间窗口来恢复“垃圾”文件。
看看市面上的大多数云服务(Dropbox、Google Drive、Simplenote 等),它们中的大多数似乎对删除的文件都有类似的政策。我真的认为处理你的文件是正确的,他们似乎也这么认为。
当 Windows 回收站达到最大大小时,它会自动删除较旧的文件:当回收站用完其分配的空间时会发生什么?
您可以通过回收站的属性来控制它
>
右侧有图标表明它有自己的设置页面) :默认情况下可能过于激进。Win+I然后在搜索框中输入“存储感知”也会带您到那里。\n%TEMP%
目录,该目录往往会积累废弃的文件。几乎没有理由不清洁它,但你有一个选择。如果您不知道临时目录是什么,请务必启用此选项。这些是非用户文件。如果您使用组策略配置多台计算机,您还可以更好地控制保留期限,而不仅仅是具有 3-4 个预设持续时间的下拉选择器。使用 GP MMC 控制台中的过滤器搜索 Storage Sense。组策略在 Windows 10 和 11 家庭版中不可用。
\n请通过说明这个答案来提供帮助:我希望该说明很清楚,但可能会受益于屏幕截图。我无法发布良好的屏幕截图,因为我的所有机器都设置了 GP,因此大多数设置都呈灰色,并显示通知 \xe2\x80\x9cThis computer is Managed等\xe2\x80\x9d。对于家庭用户来说,这可能看起来太混乱,无法作为一个很好的说明。非常欢迎并赞赏对“系统 > 存储 > 存储感知”页面进行清晰屏幕截图的编辑!
\n 归档时间: |
|
查看次数: |
23565 次 |
最近记录: |