关于VBS调用外部程序和获取自身路径的问题。

我用A脚本启动B脚本(两者路径不同)。
A脚本源码:

VBScript code
set ws=WScript.CreateObject("WScript.Shell")
thispath=createobject("Scripting.FileSystemObject").GetFolder(".").Path
msgbox thispath
ws.Run """C:\Program Files\Internet Explorer\123.vbs"""

B脚本(123.vbs)源码:
VBScript code

thispath=createobject("Scripting.FileSystemObject").GetFolder(".").Path
msgbox thispath
wscript.sleep(5000)

结果A输出的是自己的路径,B输出的依然是A的路径。这与我预想的大相径庭。请问为什么。另外有什么办法让B输出B自己 的路径(手动启动B是输出B的路径,但是通过A启动B却输出A的路径。)。
我是VBS的业余爱好者,知道这是一个简单的问题,还望大家不吝赐教。

A脚本
set ws=CreateObject("WScript.Shell")
msgbox ws.CurrentDirectory '当前工作文件夹
ws.Run """C:\Program Files\Internet Explorer\123.vbs"""
B脚本
WScript.echo Left(WScript.ScriptFullName,Len(WScript.ScriptFullName)-Len(WScript.ScriptName))
wscript.sleep(5000)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
WScript.echo WScript.ScriptFullName '返回当前运行脚本的完整路径名。
WScript.echo WScript.ScriptName '返回当前运行脚本的文件名。
WScript.echo WScript.Path '返回主可执行文件路径名称。
WScript.echo WScript.FullName '返回主可执行文件名称
温馨提示:内容为网友见解,仅供参考
无其他回答

vbs执行外部程序出现错误找不到原因
楼上老大正解。就是路径里有空格导致的。如果楼主非要用这一句的话,要在两边再加一对双引号,即 ws.run ""C:\\Program Files\\AliWangWang\\AliIM.exe"".两对不行,你就再加一对,3对绝对没问题。另外你这几行代码完全不用创建两个对象,只set ws=createobject("wscript.shell")就能完成你想要...

怎么获取vbs脚本文件所在的路径
vbs代码:msgbox "当前文件路径是 " & wscript.ScriptFullName set ws=CreateObject("WScript.Shell")MsgBox "当前文件夹是 " & ws.CurrentDirectory bat代码:echo 当前文件路径是 %0 echo 当前文件夹是 %cd

vbs中wscript.shell对象run调用dos命令的路径问题
set wsh=createobject("wscript.shell")wsh.run "cmd \/c start \/max “ & chr(34) & "文件路径" & Chr(34),0

关于vbs的问题
通过VBS脚本,用户可以编写简单的自动化程序,实现如文件读写、网络操作、系统管理等任务,提高工作效率。在Windows系统中,wscript.exe作为解释器,能够解析并执行VBS脚本,将脚本中的指令转化为实际操作。用户只需将VBS脚本文件保存在系统可访问的路径下,通过双击或使用命令行等方式打开,即可开始执行脚本内容...

vbs调用批处理文件中的路径怎么写才正确
Rem 下面这段代码可以获取vbs文件所在目录(以"\\"结尾).Dim pathpath=WScript.ScriptFullNamepath=Left(path,InStrRev(path,"\\"))WScript.Echo pathRem 你的代码可以改成:Rem 假设test.bat与vbs文件在同一个文件夹内Dim ws,fpathSet ws = WScript.CreateObject("Wscript.Shell")fpath=WScript.Script...

VBS 如何获取指定进程的路径?
strComputer="."set wmiConnect=Getobject("winmgmts:\\\\"&strComputer&"\\root\\cimv2")set Items=wmiConnect.execquery("select * from win32_process where name='explorer.exe'")for each colitem in Items wscript.echo colitem.executablepath next ...

vbs无法打开,提示windows无法访问指定设备、路径或文件。您可能没有...
这要看你的脚本内容是什么了,有些脚本确实没有相应的权限。

VBScript 脚本文件相对路径的问题
建议你还是换个方式吧,手工设置相对路径,看看下面的代码,或许对你有用 dim s,dir0,dir1,dir2 s=wscript.scriptfullname on error resume next dir0=left(wscript.scriptfullname,instrrev(s,"\\")-1)dir1=left(wscript.scriptfullname,instrrev(dir0,"\\")-1)dir2=left(wscript.scriptfull...

如何利用Vbs 运行外部程序
dim wshshell set wshshell = createobject("wscript.shell")wshshell.exec "程序路径"

vbs脚本如何获取当前工作目录
object应为 FileSystemObject 的名称。folderspec要返回的特殊文件夹名称。folderspec 可为下列值:常数 值 描述 0 Windows 文件夹,包含 Windows 操作系统安装的文件。1 System 文件夹,包含库、字体和设备驱动程序文件。2 Temp 文件夹,用于保存临时文件。可以在 TMP 环境变量中找到该文件夹的路径。

相似回答