编写一个简短的脚本来搜索具有特定扩展名的所有文件,重命名并删除它们......但我注意到删除脚本中有一些奇怪的行为。
假设我有四个文件: 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
任何人都可以解释这种行为吗?
答案 0 :(得分:2)
说明:file.logarithm
匹配8.3短名file.log
解决方法:del file.log.
答案 1 :(得分:1)
根据this answer,在搜索模式中使用正好3个字符的扩展名会导致搜索也返回具有更长扩展名的匹配文件,否则总是找到正确的文件。您应该使用"file?.log"
,"file.log."
作为Stephan建议,或these suggestions之一