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