我想运行PowerShell脚本并通过参数传递工作目录。
我现在在VBA中的代码:
strCommand = "powershell.exe -noexit -ExecutionPolicy Bypass -command Start-Process -Verb RunAs powershell.exe -file `\" & scriptfolder & "`\"" output `\""" & sFolder & "`\"" -corefolder `\""" & Dfd_core & "`\"" -configfolder `\""" & Dfd_Root & "`\"" -sheetfolder `\""" & dfdsheet & "`\"""
Set WsShell = CreateObject("WScript.Shell")
WsShell.Run (strCommand)
我在PowerShell中的代码:
param([String]$output, [String]$corefolder, [String]$configfolder, [String]$sheetfolder)
所有参数(output、corefolder、configfolder和sheetfolder)都是用户选择的位置或目录,因此它们可以在其中包含空格。
1条答案
按热度按时间k97glaaz1#
您需要在脚本中嵌入双引号并转义内部的双引号。此外,我认为您实际上希望将这三个参数传递给PowerShell脚本,而不是Start-Process命令。试试这个: