在 Linux/BSD 上,我可以运行
在此处找到我的路径 -not -iname“*txt”-type -f -delete
这将删除指定文件夹中所有非.txt文件。
我想在 Windows 上做类似的事情。最好不要使用 powershell。:)
谢谢
答案1
特工搜捕/FileLocator 精简版非常适合这个
FileLocator Lite 是 Agent Ransack 的品牌重塑,适用于企业环境。它具有完全相同的功能,但名称和徽标不同
个人使用可免费。
设置File name:
NOT: *.txt
您可以选择搜索Containing text:
设置Look in:
为你的路径
点击Start
Shift然后,您可以按照通常的方式(单击、 + 单击、 + 单击等)从结果中选择项目Ctrl并删除。
您还可以将其配置为对 Windows 资源管理器搜索做出反应F3并Ctrl+f替换它:
Tools -> Shell Integration -> Replace default Explorer Search
答案2
PowerShell 的优势在于它是内置的(在现代 Windows 版本中),不需要额外的工具。如果您不使用排除查找,则常规的 Windows 资源管理器搜索可能也足够了。它确实支持一些修饰符来缩小搜索范围。
Get-ChildItem -File -Recurse | Where Name -notlike "*.txt" | Remove-Item
您可能还可以使用 Windows Subsystem for Linux (WSL) 来实际使用相同的命令,尽管您会发现它确实存在一些其他问题,并且可能无法完全正常工作。此外,对于如此简单的事情来说,这样做有点过头了。
答案3
答案4
在 Windows 资源管理器中使用减号来否定搜索词。
例如,搜索包含文本的文件重复数据删除并且只显示名称为不等于到dontFindMe.txt你会使用:
durp -name:dontFindMe.txt
搜索完成后,您只需使用 Ctr+A 选择所有文件并删除它们