前回はフォルダを作成する方法を解説しました。
今回はフォルダを再帰的に作成する方法について解説したいと思います。
また、今回は色々な機能を使用しているため、機能ごとの解説は関連項目としてまとめています。
ソースコード
サンプルのソースコードになります。
サンプルではフォルダ構造を指定する際、Subversionなどで使用される場合も考慮して[/]区切りのパスにも対応しています。
' 作成するフォルダ構造
mkdir = "dir1\dir2\dir3"
Set ws = CreateObject("WScript.Shell")
cd = ws.CurrentDirectory
mkdirPath = cd
' ファイルシステムオブジェクトの作成
Set fso = CreateObject("Scripting.FileSystemObject")
' フォルダパスが[/]区切りの場合に[\]区切りに変更
mkdir = Replace(mkdir, "/", "\")
' 文字列を分割して配列に格納
arr = Split(mkdir, "\")
' ループ処理
For i = 0 To Ubound(arr)
makeDir(arr(i))
Next
' オブジェクトの解放
Set fso = Nothing
Set ws = Nothing
WScript.Quit
' フォルダ作成関数
Function makeDir(folder)
' 作成するフォルダのパスを生成
mkdirPath = mkdirPath & "\" & folder
' フォルダが存在しない場合のみフォルダを作成する
If Not (fso.FolderExists(mkdirPath)) Then
' フォルダの作成
fso.CreateFolder(mkdirPath)
End If
End Function
関連項目
リンク
コメント