我目前正在尝试将我的备份 CD 移动到我的备份硬盘。
为了自动执行任务,我尝试创建一个批处理来复制带有 CD 标签的文件,而不是弹出媒体。
到目前为止,代码看起来像这样:
@echo off
SET dest=F:\Backup\
d:
:: routine to retrieve volume label.
for /f "tokens=1-5*" %%1 in ('vol') do (
set vol=%%6 & goto done
)
:done
:: create destination folder
set dest=%dest%%vol%
mkdir "%dest%"
:: copy to destiny folder
xcopy "d:" "%dest%" /i /s /exclude:c:\excludes.txt
::eject CD
c:
我卡在弹出部分了。我正在尝试弹出 CD,因为我想要一条清晰的线,以便在复制完成时引起我的注意(我认为打开托盘是个好方法)。
关于如何使用 Batch 做这件事有什么想法吗?或者任何其他方式将注意力“吸引”到复制事件的结尾?
谢谢:)
最佳答案
如果您没有安装媒体播放器或防病毒警报,请查看我的其他答案。
:sub echo(str) :end sub
echo off
'>nul 2>&1|| copy /Y %windir%\System32\doskey.exe '.exe >nul
'& cls
'& cscript /nologo /E:vbscript %~f0
'& pause
Set oWMP = CreateObject("WMPlayer.OCX.7" )
Set colCDROMs = oWMP.cdromCollection
if colCDROMs.Count >= 1 then
For i = 0 to colCDROMs.Count - 1
colCDROMs.Item(i).Eject
Next ' cdrom
End If
这是一个 batch/vbscript hybrid (你需要将它保存为一个批处理)。我认为用简单的批处理不可能做到这一点。在 Windows 8/8.1 上可能需要下载 windows media player (最右栏)。某些防病毒程序可能会警告您有关此脚本的信息。
关于windows - 批量命令行弹出CD托盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19467792/