Directoryクラスので先頭・末尾に空白入りパスの場合
- 題名: Directoryクラスので先頭・末尾に空白入りパスの場合
- 著者: ゆう
- 日時: 2005/03/17 14:54:07
- ID: 9877
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: Directoryクラスので先頭・末尾に空白入りパスの場合
- 著者: ぬるぽ
- 日時: 2005/03/17 16:56:13
- ID: 9884
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: Directoryクラスので先頭・末尾に空白入りパスの場合
- 著者: ゆう
- 日時: 2005/03/17 17:03:44
- ID: 9886
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: Directoryクラスので先頭・末尾に空白入りパスの場合
- 著者: 壱丸3
- 日時: 2005/03/17 17:20:31
- ID: 9889
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: Directoryクラスので先頭・末尾に空白入りパスの場合
- 著者: 壱丸3
- 日時: 2005/03/17 18:59:07
- ID: 9895
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: Directoryクラスので先頭・末尾に空白入りパスの場合
- 著者: ひろ
- 日時: 2005/03/18 12:11:21
- ID: 9914
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
現在VB.Netにてファイルやフォルダをコピーしたりするアプリを作成中なのですが、DirectoryもしくはDirectoryInfoクラスを使って先頭もしくは末尾が空白のフォルダ・ファイルをコピー、移動、削除などするにしても空白部分が自動でトリムされて認識してしまうようなので空白を保ったままの処理ではエラーが出てしまいます。
※例えば
※Directory.GetFiles("c:\hoge ")
※では実際に"C:\hoge "が存在しても見つけることが出来ません。
現在のところ空白自体は例えばEndsWithなどを使って判別できるので、処理を省くようにして対応はしています。
Directoryクラスの制限を確認すると
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemiodirectoryinfoclasstopic.asp
「入力文字列としてパスを受け入れるメンバでは、そのパスが正しい書式である必要があります。それ以外の場合は、例外が発生します。たとえば、パスが絶対パスであっても空白で始まっている場合、そのパスはクラスのメソッドではトリムされません。このため、パスが正しい書式にならず、例外が発生します。」
とありますので、この制限がある以上、アプローチを変えない限りは空白部分をそのままの形では取り扱うことができないということでしょうか。そしてエクスプローラー上の処理では空白があっても正常に動作しますので、例えばAPIであれば可能となりますでしょうか。