如何获得积极运行的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路径。
答案 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")