VBScript宏getParentFolder名称
我正在尝试创建一个vbscript宏,它将获取存储宏的文件夹位置,并将输出文件创建到同一文件夹中。我使用下面的代码,但它没有得到正确的位置VBScript宏getParentFolder名称,vbscript,Vbscript,我正在尝试创建一个vbscript宏,它将获取存储宏的文件夹位置,并将输出文件创建到同一文件夹中。我使用下面的代码,但它没有得到正确的位置 Set obj1FSO = CreateObject("Scripting.FileSystemObject") folderLoc = obj1FSO.GetParentFolderName("\Cubes_Macro_V5.zmc") 然后,它将使用folderLoc变量并将输出文件名附加到该变量,以便在存储宏的同一文件夹中创建输出文件 Set re
Set obj1FSO = CreateObject("Scripting.FileSystemObject")
folderLoc = obj1FSO.GetParentFolderName("\Cubes_Macro_V5.zmc")
然后,它将使用folderLoc变量并将输出文件名附加到该变量,以便在存储宏的同一文件夹中创建输出文件
Set repFso = CreateObject("Scripting.FileSystemObject")
Set repFile = repFso.CreateTextFile(folderLoc & "RCHT_OPTION4_REPORT.txt", True)
宏存储在D:\驱动器的文件夹中,但当我运行上述代码段时,它会得到桌面的位置。
这不是该方法的工作方式-它从提供的字符串中提取“父级”
Option Explicit
Dim fso,GetTheParent
Set fso = CreateObject("Scripting.FileSystemObject")
GetTheParent = fso.GetParentFolderName("C:\Windows")
wscript.echo "Attempt 1:" & "'" & GetTheParent & "'"
GetTheParent = fso.GetParentFolderName("\Windows")
wscript.echo "Attempt 2:" & "'" & GetTheParent & "'"
GetTheParent = fso.GetParentFolderName("Windows")
wscript.echo "Attempt 3:" & "'" & GetTheParent & "'"
GetTheParent = fso.GetParentFolderName("C:\WINDOWS\system32")
wscript.echo "Attempt 4:" & "'" & GetTheParent & "'"
GetTheParent = fso.GetParentFolderName("\WINDOWS\system32")
wscript.echo "Attempt 5:" & "'" & GetTheParent & "'"
结果:
Attempt 1:'C:\'
Attempt 2:''
Attempt 3:''
Attempt 4:'C:\WINDOWS'
Attempt 5:'\WINDOWS'
当前目录(“启动进程时您所在的位置”)与脚本的目录之间存在差异:
>> WScript.Echo 0, goFS.GetAbsolutePathName(".\")
>> WScript.Echo 1, goWS.CurrentDirectory
>> WScript.Echo 2, goFS.GetParentFolderName(WScript.ScriptFullName)
>>
0 C:\Documents and Settings\eh
1 C:\Documents and Settings\eh
2 M:\bin
(我从我的主目录调用了驻留在m:\bin中的REPL/Interactive VBS shell)
我不知道“Cubes_Macro_V5.zmc”是否是一个VBScript文件(带有一个特殊的扩展名,由您通过w | cscript.exe使用的任何代理加载),但请检查WScript.ScriptFullName是否具有预期的内容并应用.GetParentFolderName
如果失败,您需要确定代理用于宏的文件夹,并将该目录提供给.BuildPath
再三考虑:
伏都教,但很容易测试:是吗
WScript.Echo 0, goFS.GetAbsolutePathName(".\Cubes_Macro_V5.zmc")
提供所需的结果?可能重复的