如何编写VBS脚本根据用户输入创建主文件夹及固定子文件夹
VBS 单脚本实现自定义主文件夹+固定子文件夹批量创建
实现逻辑
- 脚本启动后弹出输入框获取用户自定义的主文件夹名称
- 先在指定根目录(默认为
C:\test\)创建对应名称的主文件夹 - 自动在刚创建的主文件夹路径下,生成4个预设名称的子文件夹
- 增加基础容错:空输入判断、已存在文件夹跳过逻辑,避免脚本报错
完整合并后代码
Option Explicit Dim objFSO, strMainFolderName, strMainFolderPath Dim arrSubFolders, i, subFolderPath ' 初始化文件系统对象 Set objFSO = CreateObject("Scripting.FileSystemObject") ' 获取用户输入的主文件夹名 strMainFolderName = InputBox("Please enter a name for your new folder:") ' 空输入/点击取消则直接退出脚本 If Trim(strMainFolderName) = "" Then WScript.Echo "未输入有效文件夹名称,脚本终止" WScript.Quit End If ' 拼接主文件夹完整路径,如需修改根目录直接替换C:\test\即可 strMainFolderPath = "C:\test\" & strMainFolderName ' 创建主文件夹(不存在才创建) If Not objFSO.FolderExists(strMainFolderPath) Then objFSO.CreateFolder strMainFolderPath WScript.Echo "主文件夹创建完成: " & strMainFolderPath Else WScript.Echo "主文件夹已存在,直接在其下创建子文件夹: " & strMainFolderPath End If ' 配置固定名称的子文件夹列表,增减/修改名称直接编辑数组内容即可 arrSubFolders = Array("subfolder1", "subfolder2", "subfolder3", "subfolder4") ' 循环创建所有子文件夹 For i = 0 To UBound(arrSubFolders) subFolderPath = objFSO.BuildPath(strMainFolderPath, arrSubFolders(i)) If Not objFSO.FolderExists(subFolderPath) Then WScript.Echo "正在创建子文件夹: " & subFolderPath objFSO.CreateFolder subFolderPath Else WScript.Echo "子文件夹已存在,跳过: " & subFolderPath End If Next WScript.Echo "全部文件夹创建流程执行完毕" Set objFSO = Nothing
使用说明
- 将代码复制保存为后缀为
.vbs的文件,双击即可运行 - 若要修改主文件夹的存放根路径,替换代码中
strMainFolderPath = "C:\test\" & strMainFolderName一行里的C:\test\为目标路径即可 - 若要修改子文件夹名称/增减子文件夹数量,直接编辑
arrSubFolders数组内的元素即可,不需要重复写创建逻辑 - 不需要弹窗提示创建进度的话,删除所有
WScript.Echo开头的代码行即可
内容的提问来源于stack exchange,提问作者Vinoth
相关产品推荐
相关产品推荐

