如何将SCRIPT_PATH
变量插入PowerShell脚本路径?还有谁知道任何Visual Studio Like工具我可以写那些?我认为Visual Studio使用不同的.net vbs。
以下是代码:
SCRIPT_PATH = Left(WScript.ScriptFullName, Len(WScript.ScriptFullName) - (Len(WScript.ScriptName)))
MsgBox SCRIPT_PATH
Set objShell = CreateObject("WScript.Shell")
objShell.Run "RUNAS /user:Domain\User ""powershell SCRIPT_PATH & Delete_App_Script.ps1"""
Set objShell = Nothing
我如何SCRIPT_PATH = SCRIPT_PATH + Delete_App_Script.ps1
?
SCRIPT_PATH = SCRIPT_PATH & "Delete_App_Script.ps1"
不起作用。
它没有错误,所以我不确定是什么问题。
我错过了一些""
或一些,,
吗?
我已经看到管理员运行的一些.Run ,,,
语法和这个,但没有解释""
的内容。
不期待为此创建界面。
这不起作用:
Set objShell = CreateObject("WScript.Shell")
SCRIPT_PATH = Left(WScript.ScriptFullName, Len(WScript.ScriptFullName) - (Len(WScript.ScriptName)))
SCRIPT_PATH = SCRIPT_PATH & "Delete_App_Script.ps1"
objShell.Run "RUNAS /user:Dom\adm ""powershell SCRIPT_PATH"""
Set objShell = Nothing
但这有效:
Set objShell = CreateObject("WScript.Shell")
objShell.Run "RUNAS /user:Dom\adm ""powershell C:\Delete_App_Script.ps1"""
Set objShell = Nothing
我错过了什么?
答案 0 :(得分:1)
处理路径时使用适当的FileSystemObject
方法:
Set fso = CreateObject("Scripting.FileSystemObject")
SCRIPT_PATH = fso.GetParentFolderName(WScript.ScriptFullName)
SCRIPT_PATH = fso.BuildPath(SCRIPT_PATH, "Delete_App_Script.ps1")
对于在字符串中使用变量,您需要将变量连接到字符串的其余部分,如@Lankymart所指出的那样。这也记录在language tag info。
中objShell.Run "RUNAS /user:Domain\User ""powershell " & SCRIPT_PATH & """"
另请注意,如果路径包含空格,则应将路径放在双引号中:
objShell.Run "RUNAS /user:Domain\User ""powershell \""" & SCRIPT_PATH & "\"""""
并且您应该使用参数-File
,否则PowerShell会将脚本路径解释为命令字符串,对于带空格的路径不会失败。
objShell.Run "RUNAS /user:Domain\User ""powershell -File \""" & SCRIPT_PATH & "\"""""