如果存在,使用cmd防止覆盖文件

Joh*_*rad 35 cmd batch-file command-prompt

我目前正在编写一个执行安装文件的.bat批处理文件.在运行安装文件之前,我检查目录是否存在以避免重新安装应用程序.

我通过使用If Not Exist filename声明来做到这一点.如果安装的文件不存在,则执行安装文件.

出于某种原因,当我使用已经安装它的应用程序测试它时,它仍然试图通过它重新安装应用程序.

这是我的代码片段:

cd "C:\Documents and Settings\John\Start Menu\Programs\"
pause
If NOT exist "Software Folder"\ (
 start \\filer\repo\lab\"software"\"myapp"\setup.exe
 pause
) 
Run Code Online (Sandbox Code Playgroud)

我检查SoftwareFolder的子目录在哪里"C:\Documents and Settings\John\Start Menu\Programs\".查看它是否存在于我的Programs文件夹中.

我知道我的start命令没有任何问题.我觉得我的开始CD命令或其中一个参数有问题.

非常感谢,伙计们!

Jim*_*y D 44

使用If Not Exist代码中文件夹的FULL路径.然后你甚至不再需要CD了:

If Not Exist "C:\Documents and Settings\John\Start Menu\Programs\SoftWareFolder\"
Run Code Online (Sandbox Code Playgroud)