- 帖子
- 4
- 积分
- 112
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2009-4-30
|
我自己做一个DOS工具在未安装之前先检测boot.ini有没有这个字值
如:
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
C:\GRLDR="DOS工具箱"
如果检测到有这个字值 C:\GRLDR="DOS工具箱" 就不再复制文件复盖.
我的批处理安装是
@echo off
color 0a
Set Prog= DOS工具箱安装-卸载
Set L1= ╭══════════════════╮
Set L2= ║ ║
Set L3= ╭══┤%Prog% ├══╮
Set L4= ║ ║ ║ ║
Set L5= ║ ╰══════════════════╯ ║
Set L6= ║ ║
Set L7= ╟════════════════════════╢
Set L8= ║ 默认启动时间为3分钟 ║
Set L9= ╰────────────────────────╯
Title %Prog%
Set AddATTR=ATTRIB +S +H +R
Set DelATTR=ATTRIB -S -H -R
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo ║ 请选择您要进行的操作: ║
Echo %L6%
Echo ║ [1] 安装 DOS工具箱 ║
Echo ║ [2] 卸载 DOS工具箱 ║
Echo ║ [3] 退出 ║
Echo ║ ║
Echo %L6%
Echo %L7%
Echo %L8%
Echo %L9%
Echo.
Set Choice=
Set /P Choice= 请选择您要进行的操作 (1/2/3?) ,然后按回车:
If /I "%Choice%"=="1" Goto Install
If /I "%Choice%"=="2" Goto UnInstall
If /I "%Choice%"=="3" exit
:Install
xcopy boot %Systemdrive%\boot\
copy grldr %Systemdrive%\
copy menu.lst %Systemdrive%\
%DelATTR% %systemdrive%\boot.ini
ECHO %Systemdrive%\GRLDR="DOS工具箱" >>%Systemdrive%\boot.ini
BOOTCFG /Timeout 3
%AddATTR% %Systemdrive%\boot.ini
%AddATTR% %Systemdrive%\grldr
%AddATTR% %Systemdrive%\menu.lst
%AddATTR% %Systemdrive%\boot
echo 安装完成,按任意键退出……
pause >nul 2>nul
exit
:UnInstall
type %Systemdrive%\boot.ini>%Systemdrive%\boot.bak1
%DelATTR% %Systemdrive%\boot.ini
type %Systemdrive%\boot.bak1|find "%Systemdrive%\GRLDR=" /i /v>%Systemdrive%\boot.ini
%AddATTR% %Systemdrive%\boot.ini
%DelATTR% %Systemdrive%\boot
%DelATTR% %Systemdrive%\grldr
%DelATTR% %Systemdrive%\menu.lst
del %Systemdrive%\boot.bak1
del %Systemdrive%\grldr
del %Systemdrive%\menu.lst
rd %Systemdrive%\boot /s/q
echo 卸载完成,按任意键退出……
pause >nul 2>nul
exit
如何检测到有这个字值 C:\GRLDR="DOS工具箱" 就不再复制文件?
请请高手帮忙写一个。谢谢 |
|