Board logo

标题: [问题求助] 【已解决】VBS拖入文件启动的方法,相对路径会变,怎么办? [打印本页]

作者: Tianorder    时间: 2015-10-26 17:55     标题: 【已解决】VBS拖入文件启动的方法,相对路径会变,怎么办?

本帖最后由 Tianorder 于 2015-10-28 15:05 编辑
  1. Set argv = WScript.Arguments
  2. Set fso = CreateObject("Scripting.FileSystemObject")
  3. Set ReadFile = fso.OpenTextFile(argv(0), 1)
复制代码
用这个方法读取文件之后,代码中关于相对路径的代码即会报错。
找了一下,发现相对路径变为C:\Windows\System32了。
这怎么办呢?有什么方法能让相对路径变回来?
BuildPath虽然可以设置相对路径的地址,但我不能确定本文件的相对路径的地址啊....

有解决方法吗?
作者: pcl_test    时间: 2015-10-26 19:24

什么意思?并未看到有什么关于相对路径的代码
作者: CrLf    时间: 2015-10-26 19:31

切换工作路径到第一个参数的父目录:
  1. Dim WshShell
  2. Set WshShell = WScript.CreateObject("Wscript.Shell")
  3. WshShell.CurrentDirectory = WScript.Arguments(0) & "\.."
复制代码

作者: CrLf    时间: 2015-10-28 17:38

拖动文件到vbs图标上时,工作路径切换到 c:\windows\system32,猜测应该此时是以宿主路径为工作路径




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2