• 締切済み

機種依存文字を含むフォルダ/ファイルの読み込み

.net frameworkのDirecory.GetDirecoriesメソッドについてお聞きしたいのですが、 ☆などのUNICODE文字を含んだフォルダのパスを読み込もうとすると ArgumentExceptionをスルーしてしまうのですが、UNICODE文字も含んだフォルダのパスを 取得したいのですが、回避方法は存在しないでしょうか? よろしくお願いします。

みんなの回答

回答No.1

スルーとはthroughではなくthrowでしょうか。 # 少なくとも,慣例でthrowは「スロー」と読みます。 さて,記号があろうが結合文字があろうがサロゲートがあろうがそれによってGetDirectoriesが例外を送出することはないのですが, どのように記述しているのでしょうか。 C#で"C:\test"のようなリテラルを書いていて,実はバックスラッシュ+tでタブが入ってしまっている,といったことはありませんか。

関連するQ&A

  • 指定フォルダの絶対パス取得

    初歩的なことですが教えてください。 VB.netにて、指定したフォルダの相対パスに対する絶対パスの取得を行いたいのですが、良い方法が見つかりません。 「Path.GetFullPath メソッド」を使用して見ましたが、存在しないパス「例:\A\」を指定すると、勝手に「例:C:\A\」のように絶対パスが割り付けられてしまいます。実際に存在するパスを検索して取得することは出来ないのでしょうか? 例:「ABC」というフォルダが「C:\program files」や「D:\」などに存在するという結果です。

  • FavoritesフォルダやDeskTopフォルダ等のSpecialFolderのパス

    FavoritesフォルダやDeskTopフォルダ等のパスを取得する良い方法ってありますか?OSに依存しないで取得したい為、フルパスというのは無しです。 WSHでSpecialFoldersを利用する方法では可能ですが、セキュリティ対策上動かしていません。 GetSpecialFolderメソッドでは定数が足りません。それとも、私が定数を知らないだけなのでしょうか。 何か、良い方法を教えてください。宜しくお願いします。

  • VBAでUnicodeしか存在しない文字の判定について

    VBA初心者の質問ですが、宜しくお願いします。 エクセル上にUnicodeしか存在しない文字が含まれた文字列を入力するとします。 VBAでその文字列に、Unicodeしか存在しない文字が入力されているかどうかの判定をするにはどのようにしたらいいでしょうか? また、その文字列(Unicodeしか存在しない文字が含まれる)のバイト数を正しく取得するにはどうしたらいいでしょうか?

  • VBScript で未作成ファイルの親フォルダを調べたい

    ファイルシステムオブジェクトのCopyFile()を使って、例えば次のパスへファイルをコピーするときに、まずFolderExists()で親フォルダの有無を確認するようにしたいと思っています。 C:\rootdir\lv2dir\lv3dir\newfile.txt このとき、正規表現を使って次のようなパスを取得したいのですが、書き方がいまいち分かりません。どのようにすればよいのでしょうか。 C:\rootdir\lv2dir\lv3dir ちなみに、正規表現を使わなくても存在しないファイルのパスから親フォルダのパスを取得する方法があればそちらもぜひお教えください。 よろしくお願いします。

  • ApplicationDataのパスを取得

    コンソールアプリケーションでApplicationDataのパスを取得する方法を教えてください。 .NET Framework クラス ライブラリのEnvironment.GetFolderPath メソッド のようなWin32APIなどありませんか?

  • VBAであるフォルダにあるフォルダを取得

    VBA初心者です。 フォルダの階層を下に掘ってパスの文字列を生成したいのですが あるフォルダの中にある全てのフォルダ名前を取得するにはどうしたらいいのですか?

  • フォルダ階層のパスの長さを管理する方法

    Win環境において、ファイルサーバとして利用してます。 その際、ユーザがフォルダやファイル名に長い2バイトでの文字列を使用するので、非常に長い(約300バイト)パスとなってしまいます。 この場合の回避策や長いパスが存在した場合にチェックするような管理ツールやユーティリティはありませんでしょうか? よろしくお願い致します。

  • 同じ名前のファイルやフォルダについて

    今参考にしているWEBの指示では、 binというフォルダを作って、環境変数の項目で変数名set path でそのフォルダにパスを通しなさいと書いてあるのですが、 すでにbinというフォルダが存在しているので作ったらコンピュータが混乱を起こすのではと考えています。 ちなみに、今あるbinフォルダとは違う階層に作る予定です。 今あるbinというフォルダには 変数名PATH によりパスが通っています。 WEBの指示通りにbinというフォルダを作ってもokでしょうか? OSはXPです。 足りない情報がありましたら補足いたします。 アドバイスお願いします。

  • 同じフォルダに保存を繰り返したら読み込みが遅くなる

    ダウンロード専用のフォルダにファイルを保存していくうちにエクスプローラーの読み込みが遅くなりました。 このフォルダ内のファイルは数がたまると他のフォルダに移動させて空にするんですが、いろんなファイルの保存を繰り返したダウンロード専用フォルダは新しく保存したフォルダを開こうとすると読み込みにすごく時間がかかっています。 ダウンロード専用のフォルダ名を変えてフォルダを新規作成してそのフォルダに元の名前をつけても効果ありませんでした。 この読み込みが遅くなる現象を回避する方法はありませんか? またなぜこのような現象がおきるのか教えてください。

  • AccessVBAで特定の文字を含むフォルダを開く

    Accessのフォームにテキストボックスを設置し、 ボタンをクリックすると、 そのテキストボックスに入力されている言葉を含むフォルダを開きたいです。 Accessフォームで顧客名簿を作成していて、 サーバー上に顧客名ごと名前のついたフォルダがあります。 Dir関数を使って、 テキストボックスに「山田花子」と入力してボタンクリックすると、 「山田花子」を含むフォルダが存在するかどうかを メッセージボックスで知らせる、というところまではうまくできました。 コードは以下です。 Dim MyPath, MyFullPath MyPath = "\\×××\×××\×××\" MyFullPath = Dir(MyPath & "*" & [テキストボックス] & "*", vbDirectory) If MyFullPath = "" Then MsgBox "存在しません" Else MsgBox "存在します" End If End Sub この先、存在するならばそのフォルダを開くようにしたいです。 どうにかしてそのフォルダのフルパスを取得したいのですが その方法がわかりません。 そもそもDir関数は必要なかったのか・・・そのへんもよくわかりません。 ご教授お願いいたします!

専門家に質問してみよう