Page 1 of 1 1
Topic Options
#200096 - 2010-09-29 10:18 AM Simple script to edit a file .
jannesb Offline
Fresh Scripter

Registered: 2009-04-29
Posts: 5
Loc: Netherlands
Hi there,

My question is 'simple'.....During login i need to change (edit) a file in de local user profile. We already use a kix script to add mappings, printers etc.

De file we want to change is in c:\%userprofile%\AppData\LocalLow\Sun\Java\Deployment and is called deployment.properties

For specific user groups we want to add some parameters in this file.

The line in this file we want to change is: deployment.javaws.jre.0.args=

We want to add: '-Xms512m -Xmx512m' to this line.

How do we do that in the most simple way?

Thanks for your respons in advance.....!

Top
#200097 - 2010-09-29 12:28 PM Re: Simple script to edit a file . [Re: jannesb]
Glenn Barnas Administrator Offline
KiX Supporter
*****

Registered: 2003-01-28
Posts: 4402
Loc: New Jersey
If the file follows INI file format rules, then ReadProfileString and WriteProfileString can do the job. Use Read to get the current value and determine if it should be changed, use Write to update it.

If it's a standard text file, then the FileIO UDF might be useful.
$array=FileIO($filename, 'R') reads the file into an array. You can then enumerate the array elements looking for that line, replacing the data when you find it. Then, use FileIO again to write the data back to the file.
 Code:
$Filename='\%userprofile%\AppData\LocalLow\Sun\Java\Deployment\deployment.properties'
$Search='what to look for...'
$aFile = FileIO($Filename, 'R')
For $L = 0 to UBound($aFile)
  If InStr($aFile[$L], $Search)  ; found it - replace the data

  ; choose one of these
    $aFile[$L] = Split($aFile[$L], '=')[0] + '=' + 'new value'
    ; or - to add to the existing data
    $aFile[$L] = $aFile[$L] + 'added value...'

    $L = 99999  ; stop the search
  Next
Next
$ = FileIO($Filename, 'W', $aFile)  ; put the data back in the file
@SERROR ?
This is untested and needs to be tailored to your requirements. If you need to ADD some data, say 5 lines, extend the array and add your data to the new array elements before writing the data back.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D

Top
#200098 - 2010-09-29 02:57 PM Re: Simple script to edit a file . [Re: Glenn Barnas]
Richard H. Administrator Offline
Administrator
*****

Registered: 2000-01-24
Posts: 4946
Loc: Leatherhead, Surrey, UK
And be careful about that entry name. There may be many entries for the args parameter, on for each version of java installed.

Here is my file for example:
#deployment.properties
#Mon Sep 27 01:46:42 BST 2010
deployment.javaws.splash.index=D\:\\Java\\Cache\\6.0\\splash\\splash.xml
deployment.version=6.0
deployment.console.startup.mode=SHOW
deployment.user.cachedir=D\:\\Java\\Cache
deployment.javaws.viewer.bounds=0,0,1142,603
deployment.browser.path=C\:\\Program Files\\Internet Explorer\\iexplore.exe
#Java Deployment jre's
#Mon Sep 27 01:46:44 BST 2010
deployment.javaws.jre.2.location=http\://java.sun.com/products/autodl/j2se
deployment.javaws.jre.1.registered=true
deployment.javaws.jre.0.product=1.6.0_20
deployment.javaws.jre.4.platform=1.5
deployment.javaws.jre.3.registered=true
deployment.javaws.jre.0.path=C\:\\Program Files\\Java\\jre6\\bin\\javaw.exe
deployment.javaws.jre.2.path=C\:\\Program Files\\Java\\jre1.6.0_07\\bin\\javaw.exe
deployment.javaws.jre.3.location=http\://java.sun.com/products/autodl/j2se
deployment.javaws.jre.2.args=-Xmx320M
deployment.javaws.jre.4.args=-Xmx320M
deployment.javaws.jre.4.path=C\:\\Program Files\\Java\\jre1.5.0_14\\bin\\javaw.exe
deployment.javaws.jre.0.platform=1.6
deployment.javaws.jre.4.enabled=true
deployment.javaws.jre.3.product=1.6.0_06
deployment.javaws.jre.0.osarch=x86
deployment.javaws.jre.2.enabled=true
deployment.javaws.jre.4.location=http\://java.sun.com/products/autodl/j2se
deployment.javaws.jre.0.osname=Windows
deployment.javaws.jre.1.osarch=x86
deployment.javaws.jre.1.platform=1.6
deployment.javaws.jre.0.registered=true
deployment.javaws.jre.1.product=1.6.0_13
deployment.javaws.jre.1.osname=Windows
deployment.javaws.jre.2.osarch=x86
deployment.javaws.jre.0.enabled=true
deployment.javaws.jre.2.registered=true
deployment.javaws.jre.0.location=http\://java.sun.com/products/autodl/j2se
deployment.javaws.jre.3.osarch=x86
deployment.javaws.jre.2.osname=Windows
deployment.javaws.jre.4.registered=true
deployment.javaws.jre.3.osname=Windows
deployment.javaws.jre.4.osarch=x86
deployment.javaws.jre.2.platform=1.6
deployment.javaws.jre.1.path=C\:\\Program Files\\Java\\jre1.6.0_13\\bin\\javaw.exe
deployment.javaws.jre.3.path=C\:\\Program Files\\Java\\jre1.6.0_06\\bin\\javaw.exe
deployment.javaws.jre.3.args=-Xmx320M
deployment.javaws.jre.4.osname=Windows
deployment.javaws.jre.4.product=1.5.0_14
deployment.javaws.jre.1.location=http\://java.sun.com/products/autodl/j2se
deployment.javaws.jre.3.enabled=false
deployment.javaws.jre.3.platform=1.6
deployment.javaws.jre.2.product=1.6.0_07
deployment.javaws.jre.1.enabled=true

Top
#200099 - 2010-09-29 03:30 PM Re: Simple script to edit a file . [Re: Richard H.]
jannesb Offline
Fresh Scripter

Registered: 2009-04-29
Posts: 5
Loc: Netherlands
Thanks a bunch, verry helpfull!!! I will give it a go......!
Top
Page 1 of 1 1


Moderator:  Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart 
Hop to:
Shout Box

Who's Online
1 registered (Allen) and 675 anonymous users online.
Newest Members
batdk82, StuTheCoder, M_Moore, BeeEm, min_seow
17885 Registered Users

Generated in 0.053 seconds in which 0.025 seconds were spent on a total of 13 queries. Zlib compression enabled.

Search the board with:
superb Board Search
or try with google:
Google
Web kixtart.org