我在批处理文件中使用以下语法。它在文件存在时工作正常,但在文件不存在时不起作用。 它说:命令的语法不正确。
我的剧本:
if exist "D:\workingfolder\Data\formmed\*." ren D:\workingfolder\Data\formmed\*. medicalflags.TXT
有人可以帮忙吗?
答案 0 :(得分:0)
我建议遵循:
if exist "D:\workingfolder\Data\formmed\*" ren D:\workingfolder\Data\formmed\*.* medicalflags.TXT
我在计算机上测试过。
答案 1 :(得分:0)
该命令完全有效。
如果要将多个文件重命名为sam目标/目标已存在,则只会出现错误。
如果想要覆盖可能存在的目标文件,请使用带有/ Y选项的move命令
if exist "A:\workingfolder\Data\formmed\*." move /y A:\workingfolder\Data\formmed\*. A:\workingfolder\Data\formmed\medicalflags.TXT
答案 2 :(得分:0)
If exist
正在愉快地工作。如果请求的项目存在,则报告 true - 以及 dirname \ *。存在 - 它是目录本身。
这可以通过ren
因文件不存在而失败这一事实得到验证 - if exist
不会生成该消息 - 它只能判断其参数是否存在。
所以 - 对象是查找文件是否存在。
attrib "D:\workingfolder\Data\formmed\*." |find "File not found">nul
if errorlevel 1 (
echo file exists - do the rename
) else (
echo file missing
)
如果没有文件或目录名,attrib
命令将生成File not found
消息。