Batch file 如何避免;“驱动器中没有磁盘”;批处理期间出错
我正在运行一个批处理文件,它会在每个硬盘盘符中搜索该硬盘根目录中是否存在特定的文件 例如:Batch file 如何避免;“驱动器中没有磁盘”;批处理期间出错,batch-file,Batch File,我正在运行一个批处理文件,它会在每个硬盘盘符中搜索该硬盘根目录中是否存在特定的文件 例如: @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 但是,如果正在检查的某个驱动器(尤其是读卡器)中没有磁盘,我会收到一条错误消息,驱动器中没有磁盘,等等。。。批处理停止,需要用户输入,并单击“继续”2或3次文件复制成
@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
但是,如果正在检查的某个驱动器(尤其是读卡器)中没有磁盘,我会收到一条错误消息,驱动器中没有磁盘
,等等。。。批处理停止,需要用户输入,并单击“继续”2或3次文件复制成功
我想避免这种情况,但仍然搜索所有可能的驱动器号
理想情况下,我希望抑制任何停止以及任何错误消息
备注:
myfile.txt
始终仅位于固定驱动器中,用于检查磁盘是否插入,您可能需要尝试
要检查目录是否存在,在您的情况下是可移动驱动器的根目录,请尝试以下操作
IF EXIST %%a:\NUL ECHO %%a:\ exists!
你可以一次完成这一切,比如,使用PA的部分答案
对于(C D E F G H J K)中的%a,如果存在,请执行%a:\if exist%a:\myfile.txt xcopy“my app.exe”%a:\/I/y此问题已过去一年,但解决方案如下:
@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
谢谢,但是我正在搜索的“myfile.txt”和为xcopy设置的目标呢?