DEL命令的奇怪行为

问题描述:

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

比方说,我有四个文件:file.lofile.logfile.logs,& file.logarithm

如果我使用命令del /s /q /f *.lo那么只有文件。 lo已删除。如果我使用命令del /s /q /f *.logs,则只会删除file.logs

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

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

+0

之一你有问题吗?您在问题中显示了'del/s/q/f * .logs'两次,但列出了不同的结果。 –

+0

感谢您的支持,编辑帖子 – vadre1121

根据this answer,在搜索模式使用的恰好3个字符的扩展使得搜索也具有较长的扩展返回匹配的文件,否则总是找到正确的文件。你应该显然使用"file?.log","file.log.",因为斯蒂芬建议,或者these suggestions

+0

这非常棒。谢谢。 – vadre1121

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

解决方法:del file.log.