Question

The following PowerShell script:

$srch = '-v\s*(.*?)\s*=\s*%1'
$repl = "-v `'`$1'` = %1"
(Get-Content batchfile.bat) -replace $srch, $repl | Set-Content rave.bat

produces these results from a Windows 8.1 machine:

sqlcmd -S rave -v 'test me' = %1 -i rave_params.sql -o alert.txt

The same script produces these results from a Windows 2012 server:

sqlcmd -S rave -v test me = %1 -i rave_params.sql -o alert.txt

The script is supposed to produce results leaving the single quotes around the text. It works fine on the Windows 8.1 machine yet does not on Windows Server 2012. Any ideas what I can do to produce the same results on Windows Server 2012?

Était-ce utile?

La solution

Without sample input it's hard to test, but does this give you any better results?

$srch = '-v\s*(.*?)\s*=\s*%1'
$repl = @'
-v '$1' = %1
'@
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top