DEL 命令的奇怪行为
Odd behavior with the DEL command
正在编写一个简短的脚本来搜索具有特定扩展名的所有文件,重命名并删除它们...但我注意到删除脚本中有一些奇怪的行为。
假设我有四个文件: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
谁能解释一下这种行为?
解释:file.logarithm
匹配 8.3 简称 file.log
解决方法:del file.log.
根据this answer, using an extension of exactly 3 characters in a search pattern causes the search to also return matching files with longer extensions, and otherwise allways finds exactly the right files. You should apparently use "file?.log"
, "file.log."
as Stephan suggests, or one of these suggestions
正在编写一个简短的脚本来搜索具有特定扩展名的所有文件,重命名并删除它们...但我注意到删除脚本中有一些奇怪的行为。
假设我有四个文件: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
谁能解释一下这种行为?
解释:file.logarithm
匹配 8.3 简称 file.log
解决方法:del file.log.
根据this answer, using an extension of exactly 3 characters in a search pattern causes the search to also return matching files with longer extensions, and otherwise allways finds exactly the right files. You should apparently use "file?.log"
, "file.log."
as Stephan suggests, or one of these suggestions