複数階層のフォルダを一気に作成するVBSスクリプトを作成してみました。
やりたいこと
複数階層という言葉だと少しわかりづらいですが、あるフォルダを作成する際に子フォルダごと作成するということを実施します。
複数階層のフォルダを作成するスクリプト
以下の内容を記載したvbsファイルを実行させることで複数階層のフォルダを作成することができます。
Dim FSO
Dim Folder
Dim Message
Dim Date_yyyy
Dim Date_MM
Dim Date_dd
Dim FolderName
Dim Path
Dim CreatePath
Date_yyyy = Left(Date(), 4)
Date_MM = Mid(Date(), 6, 2)
Date_dd = Right(Date(), 2)
Date_full = Date_yyyy & Date_MM & Date_dd
Folder = "hogehoge_"
FolderName = Folder & Date_full
Path = "C:\hogehoge\"
CreatePath = Path & FolderName
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
'同名のフォルダがあるかどうかを判定
if FSO.FolderExists(CreatePath) = True Then
Message = FolderName + " is exists"
msgbox Message
else
FSO.CreateFolder(CreatePath)
if Err.Number = 0 Then
Message = "Created " & FolderName
msgbox Message
else
Message = "Error : " & Err.Description
msgbox Message
end if
'子フォルダの作成
Dim ChildFolderName
Dim CreateChildFolderPath
Dim i
Path = "C:\hogehoge\" & FolderName
for i = 1 to 4
ChildFolderName = "hogehoge" & CStr(i)
CreateChildFolderPath = CreatePath & "\" & ChildFolderName
FSO.CreateFolder(CreateChildFolderPath)
next
end if
処理内容
処理内容としては以下のようになります。
- 1.親フォルダを作成し、作成した日付を末尾につける(フォルダ名:hogehoge_yyyyMMdd)
- 2.子フォルダを作成(フォルダ名:hogehoge1~4)
フォルダが既に存在する際には「フォルダ名 is exists」とポップアップ通知で知らせるようにしています。
また、子フォルダの名前はそれぞれ同じ名前+項番という形式になります。
実行結果
親フォルダが存在しない状態での実行結果
ポップアップ上で「Created hogehoge_yyyyMMdd」と表示され、フォルダが作成されたことが確認できます。
また、作成されたフォルダの中にスクリプト内で定義した子フォルダも作成されていることも確認できます。
親フォルダが存在する状態での実行結果
ポップアップ上で「hogehoge_yyyyMMdd is exists」と表示されます。
今回は親フォルダが既にあった時点でスクリプトは実行終了するので子フォルダの有無は確認していません。