VBS递归创建多级目录文件夹的方法
背景及介绍
在VBS脚本编写中,经常会有创建多级目录文件夹的需求,此时可以使用递归的方法来实现。递归是指函数或过程在运行中通过调用自身的方式来实现对问题求解的。下面将介绍VBS中递归创建多级目录文件夹的实现方法。
实现步骤
VBS中递归创建多级目录文件夹的具体步骤如下:
- 定义函数
CreateFolder
,参数为文件夹完整路径,先判断当前目录是否存在,如果不存在则创建(使用FileSystemObject
对象中的FolderExists
和CreateFolder
方法)。 - 如果当前目录已经存在,则检查下一级目录是否存在,如果不存在则创建并继续递归调用
CreateFolder
函数,直到创建完所有的目录。
示例说明
示例一
代码如下:
Option Explicit
Dim sPath : sPath = "D:\test\a\b\c\d"
Call CreateFolder(sPath)
Function CreateFolder(strFolder)
Dim objFSO, strParentFolder, strSubFolder
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FolderExists(strFolder) Then
strParentFolder = objFSO.GetParentFolderName(strFolder)
If Not objFSO.FolderExists(strParentFolder) Then
Call CreateFolder(strParentFolder)
End If
objFSO.CreateFolder(strFolder)
End If
End Function
上述示例中,定义了一个函数 CreateFolder
,参数为文件夹完整路径。首先使用 FileSystemObject
对象判断当前目录是否存在,如果不存在则判断上一级目录是否存在,如果上一级目录不存在,则继续递归调用 CreateFolder
函数,直到上一级目录创建完成后,再创建当前目录。
示例二
代码如下:
Option Explicit
Dim sPath : sPath = "D:\test\a\b\c\d"
Call CreateFolder(sPath)
Function CreateFolder(strFolder)
Dim objFSO, strParentFolder, strSubFolder
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FolderExists(strFolder) Then
strParentFolder = objFSO.GetParentFolderName(strFolder)
If Not objFSO.FolderExists(strParentFolder) Then
Call CreateFolder(strParentFolder)
End If
objFSO.CreateFolder(strFolder)
WScript.Echo "成功创建目录:" & strFolder
Else
WScript.Echo "目录已存在:" & strFolder
End If
End Function
上述示例中,在目录创建完成后,增加了输出提示信息,以便于确认目录是否成功创建。如果目录已存在,则输出“目录已存在:目录路径”,如果目录创建成功,则输出“成功创建目录:目录路径”。
总结
VBS中递归创建多级目录文件夹的实现方法主要是通过自定义函数的递归调用来实现的。需要注意的是,在递归中,要对当前目录的上一级目录进行判断,以确保上一级目录不存在时可以继续递归调用 CreateFolder
函数,进行目录的创建。创建完目录后,可以增加输出提示信息,以便于确认目录是否成功创建。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:VBS递归创建多级目录文件夹的方法 - Python技术站