【发布时间】:2019-10-17 08:38:52
【问题描述】:
我正在尝试删除具有随机扩展名的许多子文件夹中的许多文件,我该怎么做? 我有很多加密文件(勒索软件),现在我解密了所有文件,每个文件都有一个副本(30.000 个文件)。
所有加密文件都有一个 6 个字符的随机扩展名 比如“namefile.pdf.123456”/“namefile.docx.ujyrtf”
你能帮我写一个删除所有这些文件的脚本吗?
存储在文件夹和子文件夹中
也许我可以尝试使用多文件重命名器将 .jpg. 重命名为 *.jpg.del,然后通过 cmd 删除所有 *.del,我不知道我是否可以这样做这个。
我尝试像这样使用 CMD,然后输入:
del *.jpg.*
但是这个命令删除了所有.jpg和所有.jpg.*
谢谢
注意:这些文件夹中没有任何合法文件。它是一个文件夹数据,有 mkv、jpg、doc、xls 等。Documents、Video、Audio。不是应用程序或 Windows 文件夹或类似的东西。不要在系统分区、程序文件夹上使用此 SCRIPT,因为可能会有合法文件被删除。谢谢杰拉德
【问题讨论】:
-
“帮助”一词意味着您自己做了一些努力,所以请edit您的问题并发布minimal reproducible example您的编码尝试!也可以参加tour,访问help center,了解How to Ask!
-
你说得对 aschipfl ,对不起,我用 cmd 尝试编辑问题。
-
命令行
dir /B /A:-D "*.*.*" | findstr /I "\...*\.[^\.][^\.][^\.][^\.][^\.][^\.]$"应该返回你要删除的文件;使用for /Floop 捕获其输出并处理文件,因此使用del删除它们... -
FWIW,这种行为是意料之中的:“[一些 MS-DOS 怪癖] ... 因为它们已经成为惯用语,所以会一直存在于 Win32 中。例如,如果您的模式以 .* 结尾,则 .* 是忽略。”source。您可以使用 PowerShell,它会按您的预期解析此类模式。
标签: batch-file cmd