获取当前工作目录

时间:2015-06-03 12:07:48

标签: vbscript asp-classic

如何获得积极运行的vbscript / classic ASP页面的路径?我使用了几个代码片段,但所有代码片段都给出了当前的工作目录(C驱动器路径),但我需要获取脚本所在的当前文件路径。

我尝试在.VBS文件和.ASP文件中显示此内容。

Dim folderName1
folderName1 = ""

Dim fso1
Set fso1 = CreateObject("Scripting.FileSystemObject")

Dim fullpath
fullpath = fso1.GetAbsolutePathName(folderName1)

response.write("folder spec: " & folderName1)
response.write( "fullpath:    " & fullpath)

上面的代码给出了C路径。

4 个答案:

答案 0 :(得分:3)

如果您正在使用Windows Scripting Host,Entity将返回当前正在执行的脚本的完整路径。您可以截断该字符串以确定该文件夹。

WScript.ScriptFullName

如果你有strFolder = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\")) (或者不介意创建一个),你也可以使用FileSystemObject方法:

GetParentFolderName

答案 1 :(得分:0)

正如您在评论中提到的那样:

我们假设我正在运行abc.vbs文件。我需要获得存储abc.vbs的完整路径

我们假设你正在谈论找到存储脚本的路径:

Set fso = CreateObject("Scripting.FileSystemObject") 
wscript.Echo fso.GetParentFolderName(wscript.ScriptFullName) 

您提供的示例无法在.vbs文件中使用 - 您使用的response.write不是.vbs文件中的有效指令。

如果您尝试获取正在运行的“脚本”的当前目录,在使用vbscript的传统ASP页面中,您可以使用:

response.write(Server.MapPath("."))

我希望这会有所帮助。

答案 2 :(得分:0)

您可以使用server.variables。用于查看所有server.variables的脚本。

<%
dim item
for each item in Request.ServerVariables
  Response.Write(item & "= "&Request.ServerVariables(item) & "<br>")
next
%> 

然后你可以使用字符串操作例如&#34; split&#34;定义文件夹或其他。

答案 3 :(得分:0)

您可以只使用以下简单的代码行,而不是解析整个ServerVariables。它也不需要WScript。

parentFolder = Request.ServerVariables("APPL_PHYSICAL_PATH")