如果文件不存在则存在不起作用

时间:2017-08-07 17:39:12

标签: batch-file

我在批处理文件中使用以下语法。它在文件存在时工作正常,但在文件不存在时不起作用。 它说:命令的语法不正确。

我的剧本:

if exist "D:\workingfolder\Data\formmed\*." ren D:\workingfolder\Data\formmed\*. medicalflags.TXT

有人可以帮忙吗?

3 个答案:

答案 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消息。