使用DEL命令的奇怪行为

时间:2016-02-19 15:44:15

标签: batch-file batch-processing

编写一个简短的脚本来搜索具有特定扩展名的所有文件,重命名并删除它们......但我注意到删除脚本中有一些奇怪的行为。

假设我有四个文件: file.lo file.log file.logs ,&的 file.logarithm

如果我使用命令del /s /q /f *.lo,则只删除 file.lo 。如果我使用命令del /s /q /f *.logs,则只删除 file.logs

但是如果我使用命令del /s /q /f *.log,那么 .log,.logs和.logarithm 将被删除。唯一剩下的文件是file.lo

任何人都可以解释这种行为吗?

2 个答案:

答案 0 :(得分:2)

说明:file.logarithm匹配8.3短名file.log

解决方法:del file.log.

答案 1 :(得分:1)

根据this answer,在搜索模式中使用正好3个字符的扩展名会导致搜索也返回具有更长扩展名的匹配文件,否则总是找到正确的文件。您应该使用"file?.log""file.log."作为Stephan建议,或these suggestions之一