2017-08-07 87 views
-2

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

我的脚本:

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

是否有人可以帮忙吗?

+0

如果通配符文件规范与任何文件都不匹配,则结果为空字符串。 –

+0

该命令完全有效。当有多个文件重命名为SAM目标/目标已经存在时,您只会遇到错误。 – LotPings

回答

0

我建议如下;
if exist "D:\workingfolder\Data\formmed\*" ren D:\workingfolder\Data\formmed\*.* medicalflags.TXT
我在我的电脑上测试过。希望帮助。谢谢。

0

该命令是完全有效的。

当有多个文件重命名为SAM目标/目标已经存在时,您只会遇到错误。

如果你想覆盖可能存在的目标文件使用的移动命令/ Y选项

if exist "A:\workingfolder\Data\formmed\*." move /y A:\workingfolder\Data\formmed\*. A:\workingfolder\Data\formmed\medicalflags.TXT 
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消息。

相关问题