Author Posts

February 23, 2017 at 7:17 pm

Hi guys,

I have a 2 folded issue. I have a file in my sites that contains info such as Database. I am trying to use that information to create a script that will look to the file, grab the db name and then input it into a script to do a DB backup on that database.

I am new to powershell but have found Select-String:

Select-String -Path \\server\d$\path\init.asp -Pattern "USERDB ="

The result is:
\\vs25\d$\path\init.asp:12: USERDB = "DB_name"

I just need to grab the DB_name, no quotes, and then place that into a script to backup said DB.
Any help would be greatly appreciated.

Thank you!

February 23, 2017 at 7:43 pm

$file = Get-ChildItem \\server\d$\path\init.asp
switch -Regex -File $file {
   'UserDB = "(.*)"' {$dbname = $Matches[1]}
}
# Example backup
Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database $dbname -BackupFile "\\fileserver\$dbname.mdf"

February 24, 2017 at 1:52 pm

Similarly you can:

$dbname = (Select-String -Path "\\server\d$\path\init.asp" -Pattern 'USERDB = "(.*)"').Matches.Groups[1].Value
Backup-SqlDatabase -ServerInstance "Computer\Instance" -Database $dbname -BackupFile "\\fileserver\$dbname.mdf"

February 25, 2017 at 6:00 pm

$path=... # your path
$patt='^.+"(.+)".*$'

$dbname=(sls 'USERDB\s*=' $path).line -replace $patt,'$1'