[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/06/16(Thu) 21:23
投稿者名:myu
Eメール:
URL :
タイトル:
フォルダ作成について
はじめまして、myuといいます。
C:\Test\Data\1フォルダを作成したいと思っています。
現在はC:\Testフォルダまでは存在します。
後のData\1フォルダをまとめて作成することはできないんでしょうか?
※mkdir "C:\Test\Data\1" では作成できなかったので

投稿時間:2005/06/17(Fri) 00:05
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: フォルダ作成について
SHCreateDirectoryEx API 関数で作成できます。

投稿時間:2005/06/17(Fri) 09:58
投稿者名:いな
Eメール:
URL :
タイトル:
Re^2: フォルダ作成について
> SHCreateDirectoryEx API 関数で作成できます。

使い方は下記リンクを見ればたどり着けます...っと
hhttp://vbvbvb.com/board/Forum5/HTML/000006.html

投稿時間:2005/06/17(Fri) 12:46
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: フォルダ作成について
> > SHCreateDirectoryEx API 関数で作成できます。
>
> 使い方は下記リンクを見ればたどり着けます...っと
> hhttp://vbvbvb.com/board/Forum5/HTML/000006.html

そちらで使っているのは、MakeSureDirectoryPathExists ですね。
hhttp://tinyurl.com/aau7b
因みに、身近なところで、下記にサンプルがありますよ(ログを検索する事ですね) 
hhttp://www.bcap.co.jp/hanafusa/logbbs1/wforum.cgi?mode=allread&no=1739&page=60


SHCreateDirectoryEx API 関数を使った方法は、下記です。
hhttp://www.bcap.co.jp/hanafusa/vbhlp/director.htm

hhttp://tinyurl.com/8lpfv
hhttp://tinyurl.com/9k6t4

投稿時間:2005/06/17(Fri) 13:11
投稿者名:だい
Eメール:dee_bassist@hotmail.com
URL :
タイトル:
Re^4: フォルダ作成について
過去ログの補足ですが(^^;、

MakeSureDirectoryPathExistsを使用される際には、
フォルダ名に全角文字を含む場合、正常に作成されないケースがあります。
お使いの環境で動作検証を充分に行ってください。
また、
SHCreateDirectoryExに関しては、利用可能なOSにもご留意ください。
SHCreateDirectoryExは、
  Windows NT/2000: Windows 2000 以降
  Windows 95/98/Me: WinMe

MakeSureDirectoryPathExistsは、
  Windows NT/2000: Windows NT 3.1 以降
  Windows 95/98/Me: Windows 95 以降


Private Declare Function SHCreateDirectoryEx Lib "shell32" _
    Alias "SHCreateDirectoryExA" ( _
    ByVal hwnd As Long, _
    ByVal pszPath As String, _
    ByVal psa As Any) As Long
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
    ByVal DirHelp As String) As Long

Function createfoldertest()
    SHCreateDirectoryEx 0&, "D:\てんぷ\2バイト文字は大丈夫かな\TEST", 0&
    MakeSureDirectoryPathExists "D:\てんぷその2\2バイト文字は大丈夫かな\TEST"
End Function
  
以上、ご参考まで。

投稿時間:2005/06/17(Fri) 13:45
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^5: フォルダ作成について
>     MakeSureDirectoryPathExists "D:\てんぷその2\2バイト文字は大丈夫かな\TEST"

 こちらは、
      MakeSureDirectoryPathExists "D:\てんぷその2\2バイト文字は大丈夫かな\TEST\" では。


  SHCreateDirectoryEx 0&, "D:\てんぷ表\2バイト文字は大丈夫かな\TEST", 0&
  MakeSureDirectoryPathExists "D:\てんぷその表2\2バイト文字は大丈夫かな\TEST\"

 通常の2バイト文字は大丈夫のようですが [表]等の文字があると作成されないようです。
 MakeSureDirectoryPathExists 関数は、WinXP で確認

投稿時間:2005/06/17(Fri) 15:50
投稿者名:だい
Eメール:
URL :
タイトル:
Re^6: フォルダ作成について
>       MakeSureDirectoryPathExists "D:\てんぷその2\2バイト文字は大丈夫かな\TEST\" では。

あ、すみません。
おっしゃるとおりです。
意図が不明確でした。
Function createfoldertest()
    SHCreateDirectoryEx 0&, "D:\てんぷ\表など2バイト文字\末尾に円記号がなくても最後の階層が作成さ
れる仕様", 0&
    MakeSureDirectoryPathExists "D:\てんぷ2\表など2バイト文字\末尾に円記号がないと最後の階層が作成
されない仕様\"
End Function

>  通常の2バイト文字は大丈夫のようですが [表]等の文字があると作成されないようです。
>  MakeSureDirectoryPathExists 関数は、WinXP で確認

当方環境では、
Win2000SP4、WinXPProSP1では「表」を含むフォルダ名は、どちらのAPIでも作成できましたが、
Win98SE環境では、「表」が「_」(アンダーバー)に化けたり、「_」だけの余計なフォルダができたりしました。

投稿時間:2005/06/17(Fri) 16:12
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^7: フォルダ作成について
> 当方環境では、
> Win2000SP4、WinXPProSP1では「表」を含むフォルダ名は、どちらのAPIでも作成できましたが、

失礼しました。今再確認したらできていました。
なぜか、すぐに反映されていなかったので、出来ていないものと思い込んでおりました。
VB6.0(SP6) Windows XP(Pro SP2)

投稿時間:2005/06/24(Fri) 00:00
投稿者名:myu
Eメール:
URL :
タイトル:
Re^8: フォルダ作成について
すいません。
報告を忘れました。
結果としては、仕様変更によりフォルダ作成をする必要はなくなりました。
でも、個人的には大変勉強になりました。
どうもありがとうございます。


> > 当方環境では、
> > Win2000SP4、WinXPProSP1では「表」を含むフォルダ名は、どちらのAPIでも作成できました
が、
>
> 失礼しました。今再確認したらできていました。
> なぜか、すぐに反映されていなかったので、出来ていないものと思い込んでおりました。
> VB6.0(SP6) Windows XP(Pro SP2)

投稿時間:2005/06/17(Fri) 14:41
投稿者名:いな
Eメール:
URL :
タイトル:
Re^4: フォルダ作成について
> > > SHCreateDirectoryEx API 関数で作成できます。
> >
> > 使い方は下記リンクを見ればたどり着けます...っと
> > hhttp://vbvbvb.com/board/Forum5/HTML/000006.html
>
> そちらで使っているのは、MakeSureDirectoryPathExists ですね。

^^;フォローありがとうございます。

"SHCreateDirectoryEx サンプル"でぐぐったら(hhttp://tinyurl.com/c83rz)
らしきURLを見つけたのでつい貼り付けてしまいました。

投稿時間:2005/06/17(Fri) 09:39
投稿者名:じゃんぬねっと
Eメール:
URL :http://jeanne.wankuma.com/
タイトル:
Re: フォルダ作成について
こんにちは、じゃんぬ です。

> はじめまして、myuといいます。
> C:\Test\Data\1フォルダを作成したいと思っています。
> 現在はC:\Testフォルダまでは存在します。
> 後のData\1フォルダをまとめて作成することはできないんでしょうか?
> ※mkdir "C:\Test\Data\1" では作成できなかったので

作成する前に、ディレクトリの存在確認をして順次作成していく方法でも可能です。