在批处理文件中,我尝试执行以下操作:
copy %0 D:\
但这会给我错误" No Disk"。所以 我试过了:
if exist D: (copy %0 D:\)
但这给了我同样的错误,我该如何解决这个问题?
编辑:这是没有磁盘的,但是如果打开批处理文件并且那里有磁盘,我想要运行复制命令。但如果没有磁盘则不显示错误。
答案 0 :(得分:0)
检查路径时需要尾随反斜杠 - 但您使用的操作系统也有所不同。
if exist "D:\" copy "%~0" D:\
答案 1 :(得分:0)
将输出重定向到nirwana(如果需要,您仍然可以根据失败或成功执行代码):
copy %0 d: >nul && (
echo success.
goto :CopyOK
) || (
echo failed.
goto :NoDisk
)
...
答案 2 :(得分:0)
windows cmd wmic cdrom get MediaLoaded
有输出
MediaLoaded
FALSE
[possible blank lines]
当驱动器中没有磁盘,或者有磁盘时,但它没有格式化(几乎任何你不能写入它的东西(值为TRUE表示你可以写入它。)
此批处理文件在第二行上查找为TRUE,然后您可以将命令放在那里。跳过空行需要goto。 对于这个例子,我只是回显了TRUE
@echo off
for /f "skip=1" %%a in ('wmic cdrom get MediaLoaded') do (
if %%a == TRUE (
@echo %%a
)
goto :NEXT
)
:NEXT