我已经看到这用于确保文件不存在,而不会导致错误:
FOR %%F IN (myfile) DO del %%F
我可以看到它比更常用的IF EXISTS方法更有优势,因为它只有一个文件名实例。
但FOR的内容让不熟悉的读者分心。
是否还有一个不那么令人分心的方法仍然只需要一个参考?
答案 0 :(得分:0)
一种替代方案,可读,只有一个对真实文件的引用。
set "file=c:\somewhere\file.txt"
if exist "%file%" del "%file%"
问题中的代码
FOR %%F IN (myfile) DO del %%F
除非 myfile 包含通配符,否则不会确保任何内容。如果for
命令中的文件搜索过程确定存在多个文件,则只迭代现有文件,但没有通配符,for
命令将执行{{1}中的代码在这种情况下,它总是会尝试删除文件。