我相信,您正在寻找以下代码。
set /p- 提示来自用户的值。
md- 创建文件夹
@echo off
set /p number="Enter number: "
::main folder
md request#%number%
::sub folders
md request#%number%\request#%number%_SubFolder1
md request#%number%\request#%number%_SubFolder2
md request#%number%\request#%number%_SubFolder3
md request#%number%\request#%number%_SubFolder4
您可以使用 for 循环创建 n 个子文件夹。以下代码将根据您输入的值创建父目录和 n 个子文件夹。
@echo off
set /p number="Enter number: "
::main folder
md request#%number%
::sub folder
for /L %%a in (1,1,%number%) do md request#%number%\request#%number%_SubFolder%%a
如果您输入值 4,则会创建以下文件夹结构。
-request#4
-request#4_SubFolder1
-request#4_SubFolder2
-request#4_SubFolder3
-request#4_SubFolder4
编辑:
下面的代码将触发 GUI 输入框,以获取用户输入。将间接调用 VBS 脚本来显示输入框。将在父文件夹下创建子文件夹“iAmSubFolder”。如果您想要其他名称,请更改此名称。
@echo off
::input box
echo wscript.echo inputbox("Please enter the number","This is title bar") >"%temp%\input.vbs"
for /f "tokens=* delims=" %%a in ('cscript //nologo "%temp%\input.vbs"') do set number=%%a
::Just to make clear, assigning folder names to variables
set parentFolder= request#%number%
set subFolder= %parentFolder%\iAmSubFolder
::to remove any existing folder
::creating parent folder, if not exists
if not exist %parentFolder% md %parentFolder%
::create SubFolderWithSameName, if not exists
if not exist %subFolder% md %subFolder%
带有 vbs 扩展名的最终脚本:
dim filesys, newfolder, newfolderpath, number
number=inputbox("Please enter the number","This is title bar")
'update the folder path in the below line
newfolderpath="C:\Users\310294\Desktop\test\"
newfolderpath = newfolderpath + "request#" +number
set filesys=CreateObject("Scripting.FileSystemObject")
If Not filesys.FolderExists(newfolderpath) Then
Set newfolder = filesys.CreateFolder(newfolderpath)
Set newfolder = filesys.CreateFolder(newfolderpath+ "\Photos")
Set newfolder = filesys.CreateFolder(newfolderpath+ "\Videos")
msgbox "Folders are created!"
End If