Bat文件修改文件中的变量值

时间:2012-09-13 19:56:35

标签: batch-file cmd

`对于文件deferredreportsdaemon.ini 它有内容:

ApplicationDatabaseClass=com.systems.pool.MySQLConnectionManager
ApplicationDatabaseUser=administrator
ApplicationDatabasePassword=test
ApplicationDatabaseName=envdata
ApplicationDatabaseServer=eis-mysql0:3308

我想创建一个bat文件,它将为变量ApplicationDatabaseName提供新值,并在输入文本后在文件中更新。

1 个答案:

答案 0 :(得分:2)

此脚本会将当前deferredreportsdaemon.ini重命名为deferredreportsdaemon.ini.old,并会创建新的deferredreportsdaemon.ini

注意:这可能不是 最好,最有效 的方法,但它似乎对我有用。此外,您需要添加更多错误检查,因为我在这里没有做任何事情......

@echo off

set /P DBNAME="Please enter an Application Database Name: "
set INI=deferredreportsdaemon.ini
set OLD=%INI%.old

copy /Y %INI% %OLD%
del %INI%

FOR /F "delims=\= tokens=1,2" %%K IN (%OLD%) DO (
    IF "%%K" NEQ "ApplicationDatabaseServer" echo %%K=%%L >>%INI%
)

echo ApplicationDatabaseServer=%DBNAME% >>%INI%

初始ini文件内容:

ApplicationDatabaseClass=com.systems.pool.MySQLConnectionManager
ApplicationDatabaseUser=administrator
ApplicationDatabasePassword=test
ApplicationDatabaseName=envdata
ApplicationDatabaseServer=eis-mysql0:3308

运行脚本并输入my_database_name

ApplicationDatabaseClass=com.systems.pool.MySQLConnectionManager 
ApplicationDatabaseUser=administrator 
ApplicationDatabasePassword=test 
ApplicationDatabaseServer=eis-mysql0:3308 
ApplicationDatabaseName=my_database_name