Asp classic Server.MapPath不喜欢~/和/

Asp classic Server.MapPath不喜欢~/和/,asp-classic,vbscript,Asp Classic,Vbscript,我正在使用以下代码尝试从我的代码文件中查找另一个目录中包含的文件 Set fi=fs.OpenTextFile(Server.MapPath("~/counter/counter.txt"), 1) 我也试过了 Set fi=fs.OpenTextFile(Server.MapPath("./root/folder1/counter/counter.txt"), 1) 无论哪种情况,这都会让我回到counter.txt文件。据我所知~/向上移动1个目录./向上移动到根目录 但是,两次我都收到

我正在使用以下代码尝试从我的代码文件中查找另一个目录中包含的文件

Set fi=fs.OpenTextFile(Server.MapPath("~/counter/counter.txt"), 1)
我也试过了

Set fi=fs.OpenTextFile(Server.MapPath("./root/folder1/counter/counter.txt"), 1)
无论哪种情况,这都会让我回到counter.txt文件。据我所知~/向上移动1个目录./向上移动到根目录

但是,两次我都收到一个错误,说使用了无效字符。当删除这些时,我得到一个不同的错误,说路径无法找到,这是我所期望的,因为如果不向上移动1个目录,它不是一个有效的路径

在VBscript中执行以下操作的有效字符有哪些: 向上移动一个目录? 是否向上移动到根目录

感谢您的帮助

有几件事:

波浪线字符~在此处无效

单周期字符。用于指定当前目录/文件夹

一组句点字符。。用于指定父目录/文件夹。例如,要引用在当前目录的父目录中找到的文件,可以使用:

Server.MapPath("../counter.txt")
Server.MapPath("../../../counter.txt")
您可以将这些路径链接到多个单亲路径。要引用在当前目录上方三个目录中找到的文件,可以使用:

Server.MapPath("../counter.txt")
Server.MapPath("../../../counter.txt")

有关函数的MSDN文档对此进行了概述。如果希望能够引用当前目录上方的相对路径,请注意此处列出的注意事项。如果尝试引用父路径时出错,则未启用父路径。

+1值得指出的是,~在ASP.NET中用于指示应用程序的根文件夹,但ASP classic不支持此语法。+1此外,以正斜杠/引用应用程序根的路径,如include virtual。至少在IIS7+中,我是对的吗?