|
eech
高级用户
   
积分 906
发帖 346
注册 2006-7-10
状态 离线
|
『楼 主』:
如何批处理修改这个值 (红色部分)
X:\boot.ini内容如下
[boot loader]
timeout=5
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 /usepmtimer
-------------------------------------------------------------------------------------------------------
如果系统安装在C盘,可以这样修改(bootcfg /timeout 5),但我的系统不在C盘,用这句会报错
有没有类似%windir%的写法呢?请高人赐教!
[ Last edited by eech on 2007-6-21 at 08:44 AM ]
|
|
2007-6-21 08:32 |
|
|
zasxcdfv
初级用户
 
积分 152
发帖 75
注册 2007-2-6
状态 离线
|
『第
2 楼』:
系统根目录是%systemdrive%
不知你说的是不是这个?
|
|
2007-6-21 09:30 |
|
|
eech
高级用户
   
积分 906
发帖 346
注册 2006-7-10
状态 离线
|
|
2007-6-21 09:40 |
|
|
zasxcdfv
初级用户
 
积分 152
发帖 75
注册 2007-2-6
状态 离线
|
『第
4 楼』:
bootcfg好像没有指定系统所在驱动器的参数,是不是需要直接对%systemdrive%\boot.ini进行修改才可以呢?
期待高手有更好的办法。
::我只能想到蠢办法……
::用法:命名为1.bat ,运行的时候加一个参数如1.bat 5 就是timeout=5
@echo off &setlocal enabledelayedexpansion
attrib -a -h -s %systemdrive%\boot.ini
::我忘记boot.ini的具体属性了,如果此处有误请调整参数,下同
for /f "tokens=*" %%a in (%systemdrive%\boot.ini) do (
set var=%%a
echo !var!> boottemp.txt
findstr "timeout" boottemp.txt
if errorlevel 1 (echo !var!>>boot2.ini) else echo timeout=%1>>%systemdrive%\boot2.ini
)
del %systemdrive%\boot.ini
rename %systemdrive%\boot2.ini boot.ini
attrib +h +a +s %systemdrive%\boot.ini
del boottemp.txt
pause
[ Last edited by zasxcdfv on 2007-6-21 at 10:24 AM ]
|
|
2007-6-21 09:53 |
|
|
eech
高级用户
   
积分 906
发帖 346
注册 2006-7-10
状态 离线
|
『第
5 楼』:
不行,“存在同名文件````````”
|
|
2007-6-21 10:36 |
|
|
eech
高级用户
   
积分 906
发帖 346
注册 2006-7-10
状态 离线
|
『第
6 楼』:
比如说吧,1.txt,内容如下:
aaaaaaaaa
safdds 88
可以用批处理只修改“88”吗?给个格式
|
|
2007-6-21 10:38 |
|
|
zasxcdfv
初级用户
 
积分 152
发帖 75
注册 2007-2-6
状态 离线
|
『第
7 楼』:
Quote: | Originally posted by eech at 2007-6-21 10:36 AM:
不行,“存在同名文件````````” |
|
attrib 那里多加一个 -r试试(readonly)
可能是这里导致无法删除boot.ini把
|
|
2007-6-21 10:41 |
|
|
zasxcdfv
初级用户
 
积分 152
发帖 75
注册 2007-2-6
状态 离线
|
『第
8 楼』:
Quote: | Originally posted by eech at 2007-6-21 10:38 AM:
比如说吧,1.txt,内容如下:
aaaaaaaaa
safdds 88
可以用批处理只修改“88”吗?给个格式 |
|
跟上面一样的呀。只不过方法有点笨。
上面那段你把attrib那里调整一下肯定可以用。
@echo off &setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (1.txt) do (
set var=%%a
echo !var!> boottemp.txt
findstr "safdds" boottemp.txt
if errorlevel 1 (echo !var!>>1222.txt) else echo safdds %1>>%systemdrive%\1222.txt
)
del 1.txt
rename 1222.txt 1.txt
del boottemp.txt
pause
|
|
2007-6-21 10:44 |
|
|
eech
高级用户
   
积分 906
发帖 346
注册 2006-7-10
状态 离线
|
|
2007-6-21 10:57 |
|
|
zasxcdfv
初级用户
 
积分 152
发帖 75
注册 2007-2-6
状态 离线
|
『第
10 楼』:
Quote: | Originally posted by eech at 2007-6-21 10:57 AM:
不是删除,重建一个文件 |
|
del %systemdrive%\boot.ini
rename %systemdrive%\boot2.ini boot.ini
attrib +h +a +s %systemdrive%\boot.ini
还不够清楚吗?
算了,还是等其他人来看把
|
|
2007-6-21 11:03 |
|