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

Batch file 批处理文件字符串变量中的字符,batch-file,powershell,Batch File,Powershell,如何添加诸如“;”、“+”、“=”等字符转换为批处理文件中的字符串变量 基本上,我正在编写一个批处理文件来编写Powershell的psmodulepath set "VAR=$env:PSmodulepath=$env:PSmodulepath+;C:\Powershellscripts\modules" PowerShell.exe %VAR% pause 我知道上面的代码对我没有任何好处,但我只想了解如何正确传递字符串。当我运行批处理文件时,我得到如下错误 : 有任何帮助吗?错误来自

如何添加诸如“;”、“+”、“=”等字符转换为批处理文件中的字符串变量

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

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

PowerShell.exe %VAR%

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


有任何帮助吗?

错误来自powershell。将
+
=
设置为变量。测试
回显“%VAR%”
。只是powershell开始将其作为命令执行

也许你想要这个

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

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

不。这给出了我要传递给powershell的正确字符串:set“VAR=$env:PSmodulepath^=^$env:PSmodulepath^+^”;C:\Powershellscripts\modules^“”但是,我得到一个“必须在“+”运算符后面提供一个值表达式”错误谢谢。这就行了。这是我遇到的一个愚蠢的问题,现在我决定直接编写一个powershell脚本,并使用批处理文件调用此PS脚本:)
set "VAR=$env:PSmodulepath=$env:PSmodulepath+;C:\Powershellscripts\modules"

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