|
呵呵,你这样还算简单啊,太谦虚了
这是偶修改完的代码,看需要再改进没,偶测试是可以的,就是以下这段代码启作用:
set allDrive=c d e f g h i j k l m n o p q r s t u v w
for %%i in (%allDrive%) do if exist %%i:\gho~1 set f=%%i
if exist %f%: set gfile=%f%:\gho~1
以下是备份文件的批处理代码:
@echo off
CLS
rem 一键备份C盘
:: 检测安装时所建立目录的位置
set allDrive=c d e f g h i j k l m n o p q r s t u v w
for %%i in (%allDrive%) do if exist %%i:\gho~1 set f=%%i
if exist %f%: set gfile=%f%:\gho~1
echo.
echo.
echo.
echo 一键备份C盘 By:yigeren
echo.
echo.
echo 提示: 一旦"备份",立即执行,备份文件将保存在D盘!
echo.
echo 提示: 按"B"键,再按回车键,开始备份, 按"Q"键退出.
echo.
echo.
echo.
echo.
echo.
Set Choice=
Set /P Choice= 请选择备份或退出:
If "%Choice%"=="" Goto Call
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="B" Goto backup
If /I "%Choice%"=="Q" Exit
call backup.cmd
:backup
:: 文件检测
if exist %gfile%\yigeren.sys (
Cls
echo.
echo.
echo.
color 0c
echo 系统已经备份过了&goto bakset
) else (
md d:\gho..\
cls
ghost32.exe -clone,mode=pdump,src=1:1,dst="%gfile%\yigeren.sys" -z3 -fx -sure
goto end
)
:Call
call backup.cmd
goto end
:bakset
echo.
echo.
echo 警告: 一旦"备份",立即执行,原有备份文件将被覆盖!
echo.
echo 重新备份系统请按"Y"键,再按回车键,退出请按"Q"键
echo.
echo.
echo.
Set b=
Set /P b= 请选择重新备份或退出:
if %b%#==# goto bakset
if /i %b%==Y goto reset
if /i %b%==Q goto end
cls
echo.
echo.
echo.
echo 系统已经备份过了
goto bakset
goto end
:reset
cls
ghost32.exe -clone,mode=pdump,src=1:1,dst="%gfile%\yigeren.sys" -z3 -fx -sure
goto end
:end |
|