|
前两天,正好遇到一台联想电脑。确实遇到,不能一次禁用移动硬盘的情况。后来我试了一下。禁用后,再次循环启用>禁用后。移动硬盘就禁用了。到设定的时间还可以再重新启用移动硬盘。下面是我的批处理。你可以参考一下。
- @echo off
- cls
- rem 切换主目录到批处理所在目录以便调用程序
- cd /d "%~dp0"
- rem 以下变量需要根据实际情况配置
- set Sour_BdcData=D:\FilesFtp\BDC_BACK\ORACLE_DB
- set Dest_BdcData=E:\BDCDJ
- set DISK_SERIAL=300000NA8GJR9Y
- rem 300000NA8GJR9Y //运行USBDeview.exe程序中查询到的移动硬盘“序列号(Serial Nnmber)”
- rem 以“YYYYMMDD”格式字符串取出当前日期
- set DATEVAR=%date:~0,4%%date:~5,2%%date:~8,2%
- rem 当系统时间小于10点时取出当前时间,给小时数前面补零
- if %time:~0,2% leq 9 (set hour=0%time:~1,1%) else (set hour=%time:~0,2%)
- set min=%time:~3,2%
- rem 以“HHMM”格式字符串取出当前时间
- set TIMEVAR=%hour%%min%
- set TIME_NAME=%DATEVAR%%TIMEVAR%
- if not exist "%Dest_BdcData%" (
- echo %TIME_NAME%未启用备份移动硬盘,尝试启用移动硬盘 >> "BakLog\%DATEVAR%.log"
- rem 启用移动硬盘(以管理员身份运行)
- USBDevi\USBDeview.exe /RunAsAdmin /enable_by_serial %DISK_SERIAL%
- rem 延时8秒
- ping 127.0.0.1 -n 8
- ) else (
- echo %TIME_NAME%已连接并启用备份移动硬盘,运行备份 >> "BakLog\%DATEVAR%.log"&&goto :diffcopy
- )
- if not exist "%Dest_BdcData%" echo %TIME_NAME%未连接备份硬盘,结束备份 >> "BakLog\%DATEVAR%.log"&&goto :eof
- echo %TIME_NAME%已连接并启用备份移动硬盘,运行备份 >> "BakLog\%DATEVAR%.log"
- :diffcopy
- rem 删除15天前的备份日志
- forfiles /P "BakLog" /M *.log /D -15 /C "cmd /c del @path"
- echo.
- echo 正在复制备份文件到移动硬盘,请勿关闭窗口, 可以最小化!
- echo.
- echo 正在复制备份文件到移动硬盘,请勿关闭窗口, 可以最小化!
- echo.
- echo 正在复制备份文件到移动硬盘,请勿关闭窗口, 可以最小化!
- echo.
- echo 重要的事情说三遍!!!>>"BakLog\%DATEVAR%.log"
- echo.
- ping 127.0.0.1 -n 5
- rem 禁用移动硬盘(以管理员身份运行)
- USBDevi\USBDeview.exe /RunAsAdmin /disable_by_serial %DISK_SERIAL%
- ping 127.0.0.1 -n 5
- if not exist "%Dest_BdcData%" echo %DATEVAR%已禁用备份移动硬盘&&goto :eof
- rem 以下为无法一次禁用移动硬盘的情况再次禁用备份移动硬盘第二次
- echo %TIME_NAME%无法一次禁用移动硬盘的情况再次禁用备份移动硬盘第二次 >> "BakLog\DisUsb%DATEVAR%.log"
- rem 启用移动硬盘(以管理员身份运行)
- USBDevi\USBDeview.exe /RunAsAdmin /enable_by_serial %DISK_SERIAL%
- rem 延时5秒
- ping 127.0.0.1 -n 5
- rem 禁用移动硬盘(以管理员身份运行)
- USBDevi\USBDeview.exe /RunAsAdmin /disable_by_serial %DISK_SERIAL%
- rem 弹出移动硬盘
- ::USBDevi\USBDeview.exe /stop_by_serial %DISK_SERIAL%
- ping 127.0.0.1 -n 5
- :end
- rem disable和stop参数区别:
- rem disable不用重新拔插移动硬盘或重新启动计算机而启用移动硬盘;
- rem stop必须重新拔插移动硬盘或重新启动计算机而启用移动硬盘。
复制代码
|
|