Server.MapPath不喜欢〜/和./

时间:2012-06-27 21:56:45

标签: 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个目录,然后./移动到根目录。

然而,两次都收到错误,说明使用了无效字符。删除这些时,我得到一个不同的错误,说找不到路径(我不希望因为它不是一个有效的路径而没有移动1个目录)。

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

感谢您的帮助

1 个答案:

答案 0 :(得分:8)

一些事情:

波浪号角色"〜"在这里无效。

单个时期的角色"。"用于指定当前目录/文件夹。

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

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

您可以链接这些链接以超过单个父路径。要引用在当前上方找到三个目录的文件,您可以使用:

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

MSDN上MapPath功能的文档概述了这一点。如果您希望能够引用当前目录上方的相对路径,请注意此处列出的关于enabling parent paths的警告。如果在尝试引用父路径时出错,则表明您没有启用父路径。