- PR -

同名ファイルがあるとCreateDirectoryが失敗

1
投稿者投稿内容
ジロボット
常連さん
会議室デビュー日: 2004/02/29
投稿数: 40
投稿日時: 2008-04-29 00:59
Win32API の CreateDirectory ですが、フォルダがなくても
同名のファイルが存在すると失敗するようなのですが
皆さんはどうされていますか?

例えば
CreateDirectory("C:\\Test", NULL);
ですが、C:\Test というフォルダが存在しなくても C:\Test というファイルが
存在すると失敗します。C:\Test というファイルが無ければ成功します。
Azulean
大ベテラン
会議室デビュー日: 2008/01/04
投稿数: 123
お住まい・勤務地: 大阪府
投稿日時: 2008-04-29 01:11
引用:

ジロボットさんの書き込み (2008-04-29 00:59) より:
Win32API の CreateDirectory ですが、フォルダがなくても
同名のファイルが存在すると失敗するようなのですが
皆さんはどうされていますか?


エクスプローラも同様ですが、どのようにしたいのですか?

少なくともNTFS、FAT32では同じ名前のファイル・フォルダの共存は許されていませんので、「同名のファイルがあってもフォルダを作りたい」は不可能と考えられます。


参考
GetFileAttributes実行→戻り値から存在しない、ファイル、フォルダ(ディレクトリ)が判定できる。
ファイルが存在する場合は、諦めて別の名前で考える。
フォルダが存在する場合は、それを利用しても良いものかどうか検討する。
(今回作成するフォルダが作業用フォルダのつもりであれば、ユーザが既に作っている可能性を考慮しなければならない。)


[ メッセージ編集済み 編集者: Azulean 編集日時 2008-04-29 01:15 ]
ジロボット
常連さん
会議室デビュー日: 2004/02/29
投稿数: 40
投稿日時: 2008-04-29 01:19
Azuleanさん、お返事ありがとうございます。

フォルダとファイルはそれぞれ作れるのかと思っておりました。
エクスプローラでも作れないのであればけっこうです。

勉強不足でお恥ずかしい限りです。ありがとうございました
1

スキルアップ/キャリアアップ(JOB@IT)