Kinook Software Forum

Go Back   Kinook Software Forum > Visual Build Professional > [VBP] Third Party Tools
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old 03-06-2023, 03:40 PM
teognost teognost is online now
Registered User
 
Join Date: 05-25-2004
Location: Prague,Czech Republic
Posts: 200
Question Run Powershell script with parameters containing special chars

Hi
I have a Powershell step launching Test.ps1 ,in Input section I have 2 params which are 2 macros %MyParam1% and %MyParam2% (see the attach).
The problem is MyParam2 contains special chars [% so the step fails:
Error expanding macros or script in property Parameters: Test2]<Error parsing macros at position 8>
I tried as well with a batch step and it fails also:
Error expanding macros or script in property command: C:\Windows\System32\WindowsPowerShell\v1.0\powersh ell.exe -nologo -noninteractive -executionpolicy Unrestricted "& 'C:\Program Files\VisBuildPro9\Test.ps1' -Param1 'Test1' -Param2 'Test2]<Error parsing macros at position 8>'

Is there any way to launch the script Test.ps1 with second param containing special chars?
Attached Files
File Type: bld TestPowershell1.bld (1.3 KB, 5114 views)
File Type: zip Test.zip (175 Bytes, 5336 views)
Reply With Quote
  #2  
Old 03-06-2023, 07:54 PM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,034
[vbld_EscapeString(vbld_AllMacros()("MyParam2"))]

https://kinook.com/VisBuildPro/Manual/specialchars.htm
Reply With Quote
  #3  
Old 03-07-2023, 05:24 AM
teognost teognost is online now
Registered User
 
Join Date: 05-25-2004
Location: Prague,Czech Republic
Posts: 200
It works,thanks a lot!
Reply With Quote
  #4  
Old 03-07-2023, 06:33 PM
teognost teognost is online now
Registered User
 
Join Date: 05-25-2004
Location: Prague,Czech Republic
Posts: 200
I have one more issue,if param MyParam2 contains { I got an error at step Run Test PowerShell script-with parameters :

3/8/2023 12:26:39 AM: Building project step 2 - Run Test PowerShell script-with parameters...
C:\Windows\System32\WindowsPowerShell\v1.0\powersh ell.exe -nologo -noninteractive -executionpolicy Unrestricted "& 'C:\Program Files\VisBuildPro9\Test.ps1' Test1 Test{2[]??"
Missing closing '}' in statement block or type definition.
+ CategoryInfo : ParserError: ( : ) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingEndCurlyBrace

This is because the powershell script is launched with parameters without enclosing ' '

For example if I launch the script from a batch file step by adding enclosing ' ' all is ok:
3/8/2023 12:30:42 AM: Building project step 3 - Run PowerShell script from batch step...
C:\Windows\System32\WindowsPowerShell\v1.0\powersh ell.exe -nologo -noninteractive -executionpolicy Unrestricted "& 'C:\Program Files\VisBuildPro9\Test.ps1' -Param1 'Test1' -Param2 'Test{2[]??'
Param1= Test1
Param2= Test{2[]??

Is there a way to add enclosing ' ' when using a Powershell step?
I attached the bld project.
Attached Files
File Type: bld TestPowershell2.bld (1.4 KB, 4811 views)
Reply With Quote
  #5  
Old 03-08-2023, 09:00 AM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,034
Add the single quotes to the parameter value.
Reply With Quote
  #6  
Old 03-08-2023, 09:12 AM
teognost teognost is online now
Registered User
 
Join Date: 05-25-2004
Location: Prague,Czech Republic
Posts: 200
Tried that,same error:
C:\Windows\System32\WindowsPowerShell\v1.0\powersh ell.exe -nologo -noninteractive -executionpolicy Unrestricted "& 'C:\Program Files\VisBuildPro9\Test.ps1' Test1 ''Test{2[]??''"
Missing closing '}' in statement block or type definition.
+ CategoryInfo : ParserError: ( [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingEndCurlyBrace

I see now the second param has 2 chars ' at beginning and 2 at end although I added just one.
Attached Files
File Type: bld TestPowershell2.bld (2.0 KB, 4858 views)
Reply With Quote
Reply

Tags
powershell , special charcaters


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



All times are GMT -5. The time now is 06:17 PM.


Copyright © 1999-2023 Kinook Software, Inc.