2012-03-05 87 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 
相關問題