2012-03-05 45 views
0

我正在运行一个批处理文件,该文件会在该驱动器的根目录中搜索每个硬盘驱动器盘符中是否存在特定文件。如何在批处理中避免“驱动器中没有磁盘”错误

例子:

@echo off 

for %%a in (C D E F G H I J K) do if exist %%a:\myfile.txt set DEST=%%a: 

XCOPY "my app.exe" "%DEST%\" /i /y 

但是,如果有一个在其中一个驱动器没有磁盘被检查(尤其是卡阅读器),我得到一个错误信息,THERE IS NO DISK IN DRIVE,等...批量暂停,要求用户输入,然后点击“继续”成功复制文件2或3次。

我想避免这种情况,但仍然搜索所有可能的驱动器号...

理想情况下,我希望抑制任何停止以及任何错误消息...

PS:在myfile.txt是总是在固定驱动器只

回答

0

对于如果磁盘插入你可能想尝试

,以检查是否存在一个目录,在你的情况下,可移动驱动器的根检查,试试这个。 。

IF EXIST %%a:\NUL ECHO %%a:\ exists! 
+0

感谢,但对于“MYFILE .txt“我正在搜索并设置xcopy的目的地? – europe 2012-03-05 20:11:47

0

你可以做到这一切在一个像,使用PA的部分答案...

在(CDEFGHIJK)%一做,如果存在%A:\是否存在%A: \ myfile.txt的XCOPY “我APP.EXE” %一:\/I/Y

0

它一直以来这个问题了一年,但这里的解决方案:

@echo off 

FOR %%a IN (C D E F G H I J K) DO (
    IF EXIST "%%a:\myfile.txt" (
     SET DEST=%%a: 
     goto :found 
    ) 
) 

:found 
XCOPY ..\"app1.exe" "%DEST%\Softwares\" /i /y 
XCOPY ..\"app2.exe" "%DEST%\Softwares\" /i /y 
相关问题