【发布时间】:2020-07-23 06:13:22
【问题描述】:
我想递归删除批处理文件中具有特定扩展名的所有文件。
我知道以下命令:
del /s *.ext
但是,这在 Windows 上也会删除具有其他扩展名的文件,例如.ext1 或 .ext2 。原因似乎是此类文件的 8.3 文件名以 .ext 结尾,因此扩展名较长的文件也匹配。
我正在寻找上述命令的替代方法,该命令会递归删除所有具有 .ext 扩展名的文件,但保留具有较长扩展名的文件。
【问题讨论】:
-
好问题,它似乎只与短扩展名(如三个字母)有关:我尝试使用“test.tralala”和“test.tralalala”和“del /s *.tralala”只删除了一个文件。
-
@Mark:我不同意。这是一段不能按预期工作的代码。它描述了实际结果、期望结果和复制问题的最短代码。
-
根本不是代码。它是一个键入的命令。
-
@Mark OP 需要一个批处理文件来删除文件,他尝试了批处理文件中的 "command" 并且显然没有做OP想要的,因此这个question 是一个有效的 StackOverflow 问题。
-
@mark,那么
batch-file是什么?它是一个file,带有batches 的“commands”,依次启动...不是吗?
标签: batch-file cmd short-filenames