标题: 修改ini中的变量值?十万火急!!!!
[打印本页]
作者: chhoco
时间: 2007-9-28 12:15
标题: 修改ini中的变量值?十万火急!!!!
把A.ini中的Database =test 修改成 下面三项其中的一项, Database初始值不能确定(不一定是=test), 行数能确定,值是唯一的
Database =hgsoft
Database =tools
Database =test
其实是一个软件的数据库连接参数来的,有三个数据库名,我想做三个批处理,放在桌面,分别三个批处理,连接三不同的数据库名!
A.ini 内容如下======================================
[Database]
DBNUM =1
DBMS =MSS
Database =test
ServerName =
Logid =
Logpass =
[User]
User1 =;
User2 =;
User3 =;
User4 =;
User5 =;
还有大概50行左右,这里我省略了。。。。。。。
..................................................................
==============================================
作者: wudixin96
时间: 2007-9-28 13:06
sed "/Database/ s/^Database.*$/Database =hgsoft/" a.ini
作者: chhoco
时间: 2007-9-28 15:58
sed 不是外部命令或其它。。。。。。
运行不通过啊,老大,怎么办好?
作者: 26933062
时间: 2007-9-28 16:17
行数确定,也就是说都是改第4行吧.
@echo off
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.ini') do (
if "%%a"=="4" (echo Database =hgsoft) else echo.%%b
)
pause
作者: wudixin96
时间: 2007-9-28 16:26
@echo off
:top
cls
echo ============================================
echo.
echo 1.修改为:Database =hgsoft
echo.
echo 2.修改为:Database =tools
echo.
echo 3.修改为:Database =test
echo.
echo =============================================
echo.
echo.
set /p num=请输入修改数字:
if %num%==1 set "data=Database =hgsoft"&&goto rep
if %num%==2 set "data=Database =tools"&&goto rep
if %num%==3 set "data=Database =test"&&goto rep
echo 输入错误!请重新输入。&pause>nul&goto top
:rep
for /f "tokens=1* delims=:" %%i in ('findstr /n .* a.ini') do (
if "%%i"=="4" (call echo %%data%%>>a_tmp.ini) else (echo.%%j>>a_tmp.ini)
)
del /q a.ini
ren a_tmp.ini a.ini
pause
偷取楼上的,o(∩_∩)o...哈哈
[
Last edited by wudixin96 on 2007-9-28 at 04:27 PM ]
作者: chhoco
时间: 2007-9-28 16:33
5楼的朋友,你的代码全中我的意思了,太感谢你们了,
我帮VB都比较熟,到现在才发现,原来dos也还有这样的牛人,