Vbscript 如何验证启动时是否存在所有必需的包含文件

Vbscript 如何验证启动时是否存在所有必需的包含文件,vbscript,asp-classic,Vbscript,Asp Classic,是否有人仍然使用经典的ASP VBScript,并且知道是否可以在启动时验证所有包含的文件是否存在?这是一个大型项目,需要进行一些重构,但在将文件移动到子文件夹之前,我希望进行一些测试,确保所有包含的文件仍然指向正确的文件 我从未尝试过,原因如下 在经典ASP中,您可以有两种类型的#includeSSI指令 相对路径包括,它们从当前目录的路径 虚拟路径包括,它们从包含Web应用程序的根获取路径 如果在Web应用程序中设置了启用父路径,则在使用#include file时,也可以使用。/遍

是否有人仍然使用经典的ASP VBScript,并且知道是否可以在启动时验证所有包含的文件是否存在?这是一个大型项目,需要进行一些重构,但在将文件移动到子文件夹之前,我希望进行一些测试,确保所有包含的文件仍然指向正确的文件

我从未尝试过,原因如下

在经典ASP中,您可以有两种类型的
#include
SSI指令

  • 相对路径包括,它们从当前目录的路径

    
    
  • 虚拟路径包括,它们从包含Web应用程序的根获取路径

    
    
  • 如果在Web应用程序中设置了
    启用父路径
    ,则在使用
    #include file
    时,也可以使用
    。/
    遍历父文件夹

    考虑到所有这些,想一想你需要做些什么

    首先,您需要识别所有的
    #include
    指令,例如,您可以使用循环在Web应用程序中迭代并查找
    .asp
    文件,然后使用正则表达式提取路径。但也有一些复杂的情况

  • 您必须区分
    文件
    虚拟
    类型的
    #include
  • 找到一种方法来转换这两种类型的路径,可能使用
    GetAbsolutePathName()
    并验证文件是否存在
  • virtual
    includes还可以指向仅存在于IIS中的虚拟目录,并且指向另一个物理位置(不必位于Web应用程序的文件夹结构中)。这可能是最复杂的事情了