maulzey
maulzey

Reputation: 4240

Bat file to modify Variable Value in a file

`For a file deferredreportsdaemon.ini it has content:

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

I want to create a bat file which will promt for new value for variable ApplicationDatabaseName and update in file after i enter the text.

Upvotes: 0

Views: 826

Answers (1)

j.w.r
j.w.r

Reputation: 4239

This script will rename the current deferredreportsdaemon.ini to deferredreportsdaemon.ini.old and will create a new deferredreportsdaemon.ini.

Note: this is probably not the best, most efficient way to do this but it seems to work for me. Also, you will need to add more error checking since I don't do any here...

@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%

Initial ini file content:

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

After running the script and entering my_database_name:

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

Upvotes: 2

Related Questions