Replace a changing string in a text file

Hi,

I have script, which fetches a text file (which is a script of a database) into a variable.  Here is a portion of that script:
$DBScriptFile = $Path[0] + $dbname + '\01-DB-' + $dbname + '-' + $Date + '.sql'
$string = Get-Content $DBScriptFile

Inside the file I have strings like:
SIZE = 76288MB
FILEGROWTH = 512MB

I need to replace them with:
SIZE = 1024KB
FILEGROWTH = 1024KB

The problem is, those numbers may be different, e.g.:
SIZE = 10000KB
FILEGROWTH = 2048KB

So I need to replace everything which looks like:
SIZE = XYZB
FILEGROWTH = XYZB
with:
SIZE = 1024KB
FILEGROWTH = 1024KB

Any ideas?

Thanks

Parents
No Data
Reply
  • I've ended up doing this:

    $string = $string -replace ' SIZE = \d+[A-Z]B','SIZE = 1024KB'
    $string = $string -replace 'FILEGROWTH = \d+[A-Z]B','FILEGROWTH = 1024KB'

    The space before "SIZE" is put on purpose, so it does not change the MAXSIZE.

     

    Thanks everyone for your help.

Children
No Data