Faw*_*wix 5 windows backup cmd batch-file
我正在尝试将我的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:
Run Code Online (Sandbox Code Playgroud)
我被困在弹射部分.我正在尝试弹出CD,因为当复制完成时我想要一条清晰的线来引起我的注意(我想打开托盘是一个好的).
任何想法如何使用批处理?或任何其他方式"引起注意"到复制事件的结束?
谢谢 :)
如果您没有安装媒体播放器或防病毒警报,请检查我的其他答案.
: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
Run Code Online (Sandbox Code Playgroud)
这是一个批处理/ vbscript混合(你需要将它作为一个批处理保存).我认为不可能用简单的批处理.在Windows 8/8.1上可能需要下载windows media player(最右边的列)一些反病毒程序可能会警告你这个脚本.
我知道这个问题很老,但我想分享这个:
@echo off
echo Set oWMP = CreateObject("WMPlayer.OCX.7") >> %temp%\temp.vbs
echo Set colCDROMs = oWMP.cdromCollection >> %temp%\temp.vbs
echo For i = 0 to colCDROMs.Count-1 >> %temp%\temp.vbs
echo colCDROMs.Item(i).Eject >> %temp%\temp.vbs
echo next >> %temp%\temp.vbs
echo oWMP.close >> %temp%\temp.vbs
%temp%\temp.vbs
timeout /t 1
del %temp%\temp.vbs
Run Code Online (Sandbox Code Playgroud)
只需确保您的 Temp 文件夹中没有名为“temp.vbs”的文件。这可以通过cmd直接执行,你不需要批处理,但我不知道像“eject E:\”这样的命令。请记住,这将弹出系统中的所有 CD 托盘。
| 归档时间: |
|
| 查看次数: |
36786 次 |
| 最近记录: |