批处理文件字符串变量中的字符

时间:2014-04-18 09:41:15

标签: batch-file powershell

如何添加';'等字符? ,' +',' ='到批处理文件中的字符串变量?

基本上我正在写一个批处理文件来编写Powershell的psmodulepath。

set "VAR=$env:PSmodulepath=$env:PSmodulepath+;C:\Powershellscripts\modules"

PowerShell.exe %VAR%

pause

我知道上面的代码对我没什么好处,但我只是想了解如何正确传递字符串。当我运行批处理文件时,我得到如下错误 :

C:\Users\Kiran_Vasanth\Desktop\Powe>PowerShell.exe $env:PSmodulepath=$env:PSmodu
lepath+;C:\Powershellscripts\modules
At line:1 char:37
+ $env:PSmodulepath=$env:PSmodulepath+;C:\Powershellscripts\modules
+                                     ~
You must provide a value expression following the '+' operator.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordEx
   ception
    + FullyQualifiedErrorId : ExpectedValueExpression

任何帮助?

1 个答案:

答案 0 :(得分:1)

错误来自powershell。+=设置为变量。测试 echo "%VAR%"。只是powershell开始执行它作为命令。

你想要这个吗?

set "VAR=$env:PSmodulepath=$env:PSmodulepath+;C:\Powershellscripts\modules"

PowerShell.exe """%VAR%"""