我个人会将其重写为 python 或 vbscript:
快速/粗略的 vbscript 概念代码,效率不是特别高,但希望可读:
Function MakeDirectories (strRootFolder, strParentFolder, strArrayFolderNames)
on error resume next
err.clear
Set objFSO = CreateObject("Scripting.FileSystemObject")
strParentFolder = strRootFolder & "\" & strParentFolder
if not objFSO.FolderExists(strParentFolder) then
objFSO.CreateFolder(strParentFolder)
end if
if err.number then
MakeDirectories = false
exit function
end if
dim strNewFolder
for each strfolderName in strArrayFolderNames
strNewFolder = strParentFolder & "\" & ProperNames(strFolderName)
if not objFSO.FolderExists(strNewFolder) then
objFSO.CreateFolder(strNewFolder)
end if
next
if err.number then
MakeDirectories = false
else
MakeDirectories = True
end if
End function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function Proper ( strText )
Proper = ucase(left(strText,1)) & lcase(mid(strText,2))
end function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function ProperNames ( strText )
if instr(strText," ") > 0 then
dim temp, i
temp = split(strText, " ")
for i = lbound(temp) to ubound(temp)
temp(i) = Proper(temp(i))
next
ProperNames = join(temp, " ")
else
ProperNames = Proper(strText)
end if
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub Main ( )
dim strLastName, strFirstName
strLastName = InputBox("Please enter the client's last name:")
if strLastName = "" then exit sub
strFirstName = InputBox("Please enter the client's first name:")
if strLastName = "" then exit sub
'' a better alternative might be to put the desired folder
'' into a text file and have the program read said data
dim strArrayFolderNames(9)
strArrayFolderNames(0) = "Budget"
strArrayFolderNames(1) = "Business Registration"
strArrayFolderNames(2) = "Correspondence"
strArrayFolderNames(3) = "Financial Info"
strArrayFolderNames(4) = "Forms"
strArrayFolderNames(5) = "Illustrations"
strArrayFolderNames(6) = "Loans & Investments"
strArrayFolderNames(7) = "Personal Info"
strArrayFolderNames(8) = "Recommendations"
strArrayFolderNames(9) = "Tax Misc"
dim strDelimeter, strRootFolder, strParentFolder
strDelimeter = "-" '' I suggest avoiding the use of ","
strRootFolder = "C:\docs\temp"
strParentFolder = Proper(strLastName) & strDelimeter & Proper(strFirstName)
If MakeDirectories(strRootFolder, strParentFolder, strArrayFolderNames) then
wscript.echo ("Folders all made.")
else
wscript.echo ("Error: one or more folders was not created.")
end if
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Main ()
最后,我建议您不要在文件夹名称中使用逗号,它会为您节省管理员的麻烦。
迈克尔。