![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
ASPでフォルダを作成したいのですが
FileSystemObjectのCreateFolderだと
1階層分のフォルダしか作成できないので
一度に複数階層のフォルダを作成する方法がないかと悩んでいます。
「C:\aaa」というフォルダか元々あったとして
その中に「bbb」というフォルダを作成したい場合は
FileSystemObject.CreateFolder("C:\aaa\bbb")
で作成できますが
「bbb」の中にさらに「ccc」というフォルダを作成したい場合は
FileSystemObject.CreateFolder("C:\aaa\bbb\ccc")
としてもbbbフォルダが存在しないためエラーになります。
FileSystemObject.CreateFolder("C:\aaa\bbb")
FileSystemObject.CreateFolder("C:\aaa\bbb\ccc")
と2回やればできるのですが
作成したいフォルダパスは階層も固定ではないので
できれば1回で「bbb」フォルダも「ccc」フォルダも作成したいのです。
ループを回して上から順番にひとつひとつ作成するしかないのでしょうか?
ASPで使用できる何かよい関数などご存知でしたら教えてくださいm(_ _)m
No.1ベストアンサー
- 回答日時:
OSがXP(NT系)の場合CMD.exe のMDコマンドで複数階層のフォルダをいきなり作成できますので、
Dim oShell
Set oShell = CreateObject("WSCript.shell")
oShell.run "cmd /c MD C:\aaa\bbb\ccc", 0, 1
(0は、(新しいプロセス)ウインドウの非表示、1は、コマンドの終了を待つ)
でできると思います。
BLUEPIXYさん、ご回答いただきましてありがとうございます。
そっかぁ。ShellオブジェクトでMDコマンドを発行すれば良いのですね!
サーバのOSは2000Serverになるとは思うのですが、今回はとりあえずFileSystemObjectのCreateFolderをぐるぐる回すことにしました。
でもでも、とても参考になりました!
ありがとうございましたm(_ _)m
No.2
- 回答日時:
関数があればべんりではありますけど自分で自作した方が早いですよ?
再帰関数作ればものの数分で作れますし・・・
Sub CreateFolders(ByVal DirPath)
If Not objFs.FolderExists(DirPath) Then
ParentFolderPath = objFs.GetParentFolderName(DirPath)
If Not objFs.FolderExists(ParentFolderPath) Then CreateFolders ParentFolderPath
objFs.CreateFolder DirPath
End If
End Sub
Bonjinさん、ご回答いただきましてありがとうございます。
結局、再帰関数を自作することにいたしました。
ありがとうございましたm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
Excelで指定したフォルダに保存...
-
エクセルのマクロについて教え...
-
VB6でCSVファイルにパスワード...
-
VBAでファイル名を指定して保存...
-
VBA フォルダの複数選択ができない
-
VBA 最新のフォルダ取得
-
VBS サブフォルダの再帰処理に...
-
ファイル名と同名のフォルダを...
-
EXCELのセルにフォルダのパスの...
-
ファイル名から該当フォルダへ移動
-
Access VBA で フォルダ権限...
-
フォルダのサイズを一覧にした...
-
API関数(DLL)の呼び出しにお...
-
同一フォルダ内の別ブックから...
-
ディレクトリ名変更してコピー...
-
Excel VBA 同じ名前のフォルダ...
-
Excelのハイパーリンクについて...
-
outlook マクロが終了しません。
-
エクセル VBAについて教えてく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
ファイル名と同名のフォルダを...
-
VBA 最新のフォルダ取得
-
【マクロ】ファイル名の日付に...
-
windowsでテキストファイルの各...
-
デスクトップの画像をhtmlに表...
-
Access VBA で フォルダ権限...
-
フォルダ内のPDFファイル名を変...
-
パス名に2バイト文字(マルチバ...
-
多量のファイルをフォルダに自...
-
Excelで指定したフォルダに保存...
-
会社のネットワーク上のファイ...
-
ディレクトリ名変更してコピー...
-
VBA フォルダ名に特定の文字を...
-
エクセルマクロで指定フォルダ...
-
保存先のフォルダ名を指定した...
-
あるフォルダの中にあるファイ...
-
ExcelのVBAでフォルダ指定がで...
-
エクセルのマクロについて教え...
-
Excel VBA で フォルダ名の一部...
おすすめ情報