返回列表 发帖

[问题求助] 普通域用户runas安装软件的VBS脚本怎样处理路径中的空格?

各位老师,我想要写个脚本能够在普通域用户下使用runas来安装软件,但是安装文件的网络路径里面有空格,执行代码时会报错,请问该如何解决?另外再问个问题,能不能自定义安装路径,就是说我可以通过inputbox来输入想要安装软件的路径,这样我就不用针对每个程序写个脚本了。本人第一次发帖,请各位能够帮助小弟,非常感谢。
Const AppPath = "runas /user:domain\user  \\wux-file01\IT Install Package\Install Files\Java\jre-6u31-windows-i586-s.exe"
Const pwd = "abc@123"
Set objShell = CreateObject("Wscript.Shell")
objshell.Run AppPath
WScript.Sleep 1000
objshell.SendKeys(pwd)
objshell.SendKeys("{ENTER}")COPY

双引号转义
Const AppPath = "runas /user:domain\user  ""\\wux-file01\IT Install Package\Install Files\Java\jre-6u31-windows-i586-s.exe"""COPY

TOP

取 inputbox 的返回值就行了
path = InputBox("请输入路径:")
AppPath = "runas /user:domain\user  """ & path & """"COPY
也可以用文件选择框:
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "All Files|*.*"
If objDialog.ShowOpen Then
   AppPath = "runas /user:domain\user  """ & objDialog.FileName  & """"
Else
   Wscript.Quit
End IfCOPY

TOP

本帖最后由 yu2n 于 2014-5-10 17:23 编辑
取 inputbox 的返回值就行了也可以用文件选择框:
CrLf 发表于 2014-5-9 23:44


    选择文件夹位置:
Dim strPath
strPath=BrowseForFolder("请选择一个文件夹:")
Msgbox strPathCOPY
' +----------------------------------------------------------------------------+
' | 浏览文件夹 ' File:Dialog.vbs (WSH sample in VBScript)   |
' |              Author:(c) G. Born                         |
' +----------------------------------------------------------------------------+
Function BrowseForFolder(ByVal sTips)
    Const BIF_returnonlyfsdirs = &H0001
    Const BIF_editbox= &H0010
    Dim oShell, oFolder
    BrowseForFolder = ""
    Set oShell = CreateObject("Shell.Application")
    Set oFolder = oShell.BrowseForFolder(&H0, sTips, BIF_editbox + BIF_returnonlyfsdirs)
    If InStr(1, TypeName(oFolder), "Folder") > 0 Then
        BrowseForFolder = oFolder.Items().Item().Path
    End If
End FunctionCOPY
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复 2# CrLf


    加双引号试过了,不行。

TOP

回复 3# CrLf


这条语句执行报错,
const AppPath = "runas /user:domain\user  """ & path & """"

我的电脑室Windows 7 64位的,没有 UserAccounts.CommonDialog

TOP

返回列表