• ベストアンサー

指定したフォルダからファイル名を取得する方法

指定したフォルダからファイル名を取得するプログラムを作成しています。カレントディレクトリは上手く読み込めるのですが、サブディレクトリに入ると、アルファベット順にファイルを読んでいくため、そのサブディレクトリのファイルを全て読み込む前にまた別のサブディレクトリに飛んでしまいます。 何か良い方法はないでしょうか? 宜しくお願い致します。

  • crap
  • お礼率25% (33/128)

質問者が選んだベストアンサー

  • ベストアンサー
  • bikkuri
  • ベストアンサー率33% (23/68)
回答No.1

実際のプログラムを見ないことには、なんともいえないので、 適当な、想像での回答です。 dirでファイルorディレクトリを順に読んでいると思いますが、 ディレクトリを読み出したところで、直ぐにそのディレクトリの処理を しにいかないようにして、配列なりコレクションに貯めるだけにして、 ファイルだけ先に全て終わらせます。 そのあとで、貯めたディレクトリについて、処理すればいいかと。 「別のサブディレクトリに飛んでしまいます」ってもしかして、 カレントディレクトリを移動させている?

その他の回答 (1)

  • tak2003
  • ベストアンサー率32% (174/540)
回答No.2

フォルダーを読む際に面倒なのでファイルリストボックス使って楽するなんてのは駄目でしょうか? そこからパスをしっかり管理してあげれば以外と簡単に出来ると思うのですが?

関連するQ&A

  • delphi5でのディレクトリ内ファイル名の取得

    こんにちは。質問があります。 delphiのアプリケーションであるディレクトリのフォルダ内のファイルを 別のディレクトリのフォルダ内に名前を変えてコピーしようと考えています。 基本的にコピー元のディレクトリ名はわかりません。 コピー先のディレクトリは存在しなければ、名前を指定して作成し、その中に名前を変更したファイルを格納する流れです (わかりづらいかも・・・) フォルダが存在しなければ作成したり、ファイル名を変更してコピーする のはわかったのですが、コピー元のディレクトリ内のファイル(もしくはディレクトリ)名を取得することがわかりません。 全てソースの中でプログラムしたいと考えています。(VCLは使用しない) こんなんでもわかっちゃったりする方がいらっしゃいましたら、 どうか愛の手を・・・

  • バッチで指定ファイルの文末に改行コードをつけたい

    指定フォルダ内にある全てのテキストファイルの文末に改行コードをつけたいと思っています。 しかし指定フォルダの中にあるサブフォルダやファイル名は不変ではありません。 量も大変な数があるためバッチファイルを作ろうとしています。(*.bat) あるフォルダを指定すればそのフォルダに含まれるサブフォルダも対象とし 全てのテキストファイルの文末に改行コードをつけたいのですが バッチファイルにはどのように記述すればよいのでしょうか? 理想ではそのバッチファイルが実行されているフォルダをカレントディレクトリとして取得し そのカレントディレクトリ内のテキストフォルダ(ここでのフォルダ名は固定の予定)を指定フォルダとしたいです。 以前ほんの少しだけプログラムを触った事がある程度でコマンドプロンプトは殆ど触った事がありません。 下記のようなページを参考にしていますがうまくいきませんでした。 どなたか御教授して頂けないでしょうか。 http://okwave.jp/qa/q6496815.html http://okwave.jp/qa/q4632586.html http://oshiete.sponichi.co.jp/qa5051199.html

  • ディレクトリ以下のファイル名を取得する

    ディレクトリ名を指定するだけで、 そのディレクトリ内にある全てのデータファイルを 読み込んで処理するプログラムをC++で作ろうと考えています。 その為に、ディレクトリ以下のファイルのファイル名を 取得する方法(命令)を教えて頂きたく思います。 よろしくお願いします。

  • フォルダ内にあるファイル名を取得したい

    cを利用して、指定したフォルダの中にある全てのファイルの名前を取得するプログラムを作りたいのですが、適した関数がわかりません。 指定するフォルダはあらかじめ決めうちで、その中には.txtのファイルのみを格納します。 どなたか教えてください。できれば自分で作りたいのでヒントをください。お願いします。 VisualC++.netを使っています。OSはXPです。

  • フォルダのアクセス権のみを取得する方法

    WindowsのPowerShellでフォルダのアクセス権を取得したいです。 WindowsServerの以下のコマンドでNTFSのアクセス権、サブディレクトリのNTFSのアクセス権、オーナーが誰か取得する方法は分かりました。 PS > Get-ChildItem 取得したいフォルダ\ -Recurse | Get-ACL | Format-Table -AutoSize -Wrap | Out-File フォルダ名\ファイル名.txt -Encoding Default これだとファイルのアクセス権なども取得出来てしまうのですが、ファイルのアクセス権は不要です。 ディレクトリとサブディレクトリのアクセス権とオーナーが誰かだけ取得したいのですが、方法はありますでしょうか? 宜しくお願いします。

  • Excel VBAでフォルダー・ファイル名の取得

    いつもお世話になります。 Excelで、決められたディレクトリーの下にあるフォルダー名とファイル名を取得して Excelに表示したいのですが、調べたのですがよくわかりませんですた。 決められたディレクトリーは固定で、その下には複数フォルダーがあります。 よろしくお願い致します。

  • フォルダ内のファイル名を取得する

    windows 7なのですが、フォルダ内にあるファイル名をテキストとしてすべて一括で取得する方法はないでしょうか? また、フォルダの中にさらに複数のフォルダがあっても、上の階層のフォルダからすべてファイル名を取得する方法はないでしょうか? よろしくお願いいたします。

  • ファイルを指定して開きたいのですが…

    フォルダにいくつかのexcelシートがあります。 それをフォームを使ってそれぞれ呼び出すようにしたいのですが、 カレントディレクトリにあるはずなのに、3回に1回は「ファイルが見つかりません」となり、開けないことがあります。 そこで、先にカレントディレクトリを取得して、その取得した値をもとにフルパス指定するなどして、ファイルを開くようにしたいのですが、できそうでできません。 ちなみに、C:~などとあらかじめ設定してしまうと、コレを利用する複数のユーザがいるのですが、それぞれパスが異なっているために、個人用にパスを書き直さなければならなくなってしまうので、上記の方法を思いつきました。 最悪ネットワーク上に必要なデータ(フォルダ)を置き、そこを開くようにすれば?とも思ったのですが動作が重くなってしまうので、なるべくならやりたくありません。 どなたかお力を拝借できませんでしょうか。

  • フォルダ内のファイル名の取得

    開発環境 VB2008 少し前にVB始めたばかりです。 簡単なプログラム作成を行っているのですが フォルダ指定のダイアログで指定した、フォルダの中にあるファイル名のリストをリストボックスなどに出力したいのですが、コードがわかりません。 色々似たような質問などがあったのですが、理解不足か知識不足なのか使いこなせなさそうなので、新しく質問させていただきました。 わかりやすく教えていただけるとうれしいです。 よろしくおねがいいたします。

  • ExcelVBAでファイルを開くフォルダ指定方法

    ExcelのVBAを用いて実験データのcsvファイルをまとめるプログラムを書いています. 肝心のプログラムはほぼできています. しかし OpenfileName = Application.GetOpenFilename("CSVファイル,*.csv?") としたときに開かれるフォルダ(ファイルを指定するフォルダ)がカレントフォルダ?となっております. 実行するExcel(VBA入り)と実験データが下記のパスにあったとして C:\Users\ABC\Documents\Data\110302\ カレントフォルダはなぜかマイドキュメントがデフォルトになってしまいます. C:\Users\ABC\Documents\ 階層移動できるので問題なくもないのですが,一々階層移動するのも面倒なので修正したいと考えております. そこで (1)プログラム実行直前にカレントフォルダを実行するExcel(VBA入り)の位置に変更する方法 (2)カレントフォルダと関係なく実行するExcel(VBA入り)があるフォルダを開く方法 どちらかで対処できると考えたのですがその方法が見つかりません. (ちなみに実行するExcel(VBA入り)の位置は動かすものとするので絶対パスでの指定はなしとします) どなたかご教授お願いします.

専門家に質問してみよう