Vbscript 在外部命令中生成路径和使用
如何将我的Vbscript 在外部命令中生成路径和使用,vbscript,Vbscript,如何将我的SCRIPT\u路径变量插入PowerShell脚本路径?还有谁知道我能写的类似VisualStudio的工具吗?我认为Visual Studio使用不同的.net vbs 代码如下: SCRIPT_PATH = Left(WScript.ScriptFullName, Len(WScript.ScriptFullName) - (Len(WScript.ScriptName))) MsgBox SCRIPT_PATH Set objShell = CreateObject("WScr
SCRIPT\u路径
变量插入PowerShell脚本路径?还有谁知道我能写的类似VisualStudio的工具吗?我认为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\u PATH=SCRIPT\u PATH+Delete\u App\u SCRIPT.ps1
?
SCRIPT\u PATH=SCRIPT\u PATH&“Delete\u App\u 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
我缺少什么?在处理路径时使用适当的方法:
Set fso = CreateObject("Scripting.FileSystemObject")
SCRIPT_PATH = fso.GetParentFolderName(WScript.ScriptFullName)
SCRIPT_PATH = fso.BuildPath(SCRIPT_PATH, "Delete_App_Script.ps1")
如前所述,要在字符串中使用变量,需要将变量连接到字符串的其余部分。这也记录在了
还请注意,如果路径包含空格,则应将其置于双引号中:
objShell.Run "RUNAS /user:Domain\User ""powershell \""" & SCRIPT_PATH & "\"""""
您应该使用参数-File
,否则PowerShell会将脚本路径解释为命令字符串,这对于带有空格的路径不会失败
objShell.Run "RUNAS /user:Domain\User ""powershell -File \""" & SCRIPT_PATH & "\"""""
必须将变量
SCRIPT\u PATH
连接到字符串。类似于objShell.Run“RUNAS/user:Dom\adm”“powershell”和SCRIPT\u PATH&
。感谢您的帮助。很好的了解未来。至于IDE,考虑一下VBSEDIT。谢谢,现在速度快了很多。在代码> >用户:和连接中的星号(<代码> A&*)<代码>之后,你有一个空间。两个都不应该存在。它是“用户”之后的额外空间。“我想做的是大胆的尝试。谢谢谢洛,我该如何安静地运行它?将,0
添加到脚本路径&“\”,0
不起作用。很抱歉,这可能是一个愚蠢的问题,这个语法对我来说非常陌生。你不能安静地运行它,因为你想切换用户上下文。即使我这样做objShell.Run“RUNAS/user:ONE\”&user&“powershell-File\”&SCRIPT\u PATH&“\”,0 WScript.Sleep 1000 objShell.SendKeys Pass“send password objShell.SendKeys”{ENTER}”Set objShell=Nothing
objShell.Run "RUNAS /user:Domain\User ""powershell -File \""" & SCRIPT_PATH & "\"""""