Solved

Bacth Script to Add Lines to notes.ini file

Posted on 2008-10-28
3
773 Views
Last Modified: 2013-11-10
I need to find a script that will do the following:

1. Look for the notes.ini file either in C:\Data\Notes or H:\Data\Notes
2. Check if the following variables exist and if note append to the end of the file:
      EXTMGR_ADDINS=mc.dll
      MC_DB=DOM-01!!ClientUpdate\update.nsf

Any help is much appreciated.
             
0
Comment
Question by:zmannan83
3 Comments
 
LVL 38

Accepted Solution

by:
Shift-3 earned 500 total points
ID: 22826649
Paste the script below into a text file with a .cmd extension.  Running it will append the parameters to the file if they are not already defined.


@echo off
setlocal enabledelayedexpansion
 
for /F "tokens=*" %%G in ('type C:\Data\Notes\notes.ini') do (
 set line=%%G
 if /I "!line:~0,14!"=="EXTMGR_ADDINS=" set found1=true
 if /I "!line:~0,6!"=="MC_DB=" set found2=true
)
 
if not defined found1 echo EXTMGR_ADDINS=mc.dll>>C:\Data\Notes\notes.ini
if not defined found2 echo MC_DB=DOM-01!!ClientUpdate\update.nsf>>C:\Data\Notes\notes.ini
 
set found1=
set found2=
 
for /F "tokens=*" %%G in ('type H:\Data\Notes\notes.ini') do (
 set line=%%G
 if /I "!line:~0,14!"=="EXTMGR_ADDINS=" set found1=true
 if /I "!line:~0,6!"=="MC_DB=" set found2=true
)
 
if not defined found1 echo EXTMGR_ADDINS=mc.dll>>H:\Data\Notes\notes.ini
if not defined found2 echo MC_DB=DOM-01!!ClientUpdate\update.nsf>>H:\Data\Notes\notes.ini

Open in new window

0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 22827189
Only issue you may have is that the notes.ini file can sometimes have < > and | characters in it which tend to break batch type entries like above as I've found myself in the past.  I would suggest either using VBScript or possibly taking a different approach and using find to check if the entries are there then just append them:

@echo off
set inifile=C:\lotus\notes65\notes.ini
find /I "EXTMGR_ADDINS=mc.dll" "%inifile%"  
if errorlevel 1 echo "MC.DLL addin entry not found" & echo EXTMGR_ADDINS=mc.dll>>%inifile%

find /I "MC_DB=DOM-01!!ClientUpdate\update.nsf" "%inifile%"  
if errorlevel 1 echo "MC_DB entry not found" & echo MC_DB=DOM-01!!ClientUpdate\update.nsf>>%inifile%

Steve
0
 

Author Closing Comment

by:zmannan83
ID: 31510949
There was an issue with using the ! symbol, which was overcome by using ^ character
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question