2016-02-19 65 views
2

正在編寫一個簡短的腳本來搜索所有具有特定擴展名的文件,重命名並刪除它們......但我注意到刪除腳本中存在一些奇怪的行爲。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

回答

1

根據this answer,在搜索模式使用的恰好3個字符的擴展使得搜索也具有較長的擴展返回匹配的文件,否則總是找到正確的文件。你應該顯然使用"file?.log","file.log.",因爲斯蒂芬建議,或者these suggestions

+0

這非常棒。謝謝。 – vadre1121

2

說明:file.logarithm匹配8.3短名稱file.log

解決方法:del file.log.