問題タブ [getdirectories]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - DirectoryInfo.GetDirectories() と属性
DirectoryInfo.GetDirectories()
特定のパスの下にあるすべてのサブディレクトリを見つけるために再帰的に使用しています。ただし、システム フォルダーを除外したいのですが、明確な方法がありません。FindFirstFile/FindNextFile では、属性がより明確になりました。
perl - ディレクトリ内のファイルをソート順に読み取るにはどうすればよいですか?
Perl でopendir
, readdir
, およびを使用してディレクトリを読み取るとclosedir
、readdir
関数は特定の順序でファイルを読み取るようには見えません (私にはわかります)。
エポックタイムスタンプで名前が付けられたサブディレクトリを持つディレクトリを読んでいます:
これらのディレクトリを番号順に読みたいと思います。これにより、最も古いディレクトリが最初になります。
を使用するreaddir
と、最初に読み取られるのは 1228324260 で、これが真ん中です。ディレクトリの内容を配列に入れて並べ替えることができることは知っていますがreaddir
、並べ替えられた順序で読み取るために渡すことができるオプションはありますか? それとも、すべてを配列にプッシュして配列をソートするよりも、これを達成するためのよりエレガントな方法でしょうか? おそらくこれを行うためのモジュールもありますが、私たちの環境にモジュールをインストールするのは難しいので、組み込みモジュールでない限り、モジュールを使用したくない...
ありがとう!
編集 要求に応じて、使用しているコードを投稿しています:
c# - Directory.GetFiles は機能しますが、Directory.GetDirectories は同じディレクトリにありません
Web アプリケーションには、Directory.GetFiles と Directory.GetDirectories を使用して UI を生成する単純なファイル セレクターがあります。これはローカルホストでは完全に機能しますが、Windows Server 2003 ホスティングにアップロードすると、ファイルしか表示されません。同じディレクトリでは、GetFiles は機能しますが、GetDirectories は機能しません。
コードは信じられないほど単純です。文字列 dir は Server.MapPath 呼び出しによって作成され、次のようになります。
セキュリティに関して考えられることはすべて試しました。「Everyone」に Web ルートのすべてのディレクトリへのフル アクセスを許可するところまで行っても、これでも違いはありません。
したがって、問題がセキュリティにない場合は、さらに試してみるべきことについていくつかの提案をいただければ幸いです。
更新:私はかなりばかです - HTML を吐き出したコードには、ローカルでは何の違いもなかった非常に古いテスト コードが含まれていたため、気付かれずに削除されていましたが、サーバー上のすべてのディレクトリが無視されていました。 ! それが何だった?
サーバー上では、すべてのサイトはドメインによって名前が付けられたフォルダーにありますが、ローカルではそうではありません。私==ばか。みんなごめんなさい!
asp.net - GetDirectoriesを使用した場合のパフォーマンスの変動
困惑しているプロダクションパフォーマンスの問題があります。私は誰かが似たようなものを見たか、少なくともいくつかのトラブルシューティングテクニックを持っていることを望んでいます。
共有ネットワークドライブからファイルを取得する継承されたasp.netWebアプリケーションをサポートしています。トラブルシューティングのために選択した1つの特定のフォルダー[これをFOLDERAと呼びます]には、約300MBのファイルと複数のサブフォルダーが含まれています。FOLDERAは、このアプリケーションでは大きいと見なされます。最近から、実稼働ネットワーク共有のFOLDERAからファイルを取得するときに、ユーザーのパフォーマンスが低下しています。コードをasp.netアプリケーション内のGetDirectoriesメソッドに絞り込みました。
RootDir.GetDirectories("*", SearchOption.AllDirectories);
本番環境では、FOLDERAの読み取りには約8〜10秒かかります。最近のパフォーマンス低下の前は、約1秒でした。テスト環境では、同じ量のデータで1〜2秒かかります。
ユーザーが問題に気付いた同じ週末は同じ週末のネットワークであり、ハードウェアのアップグレードが発生したため、私の理論はネットワークの問題です。ただし、これをネットワークエンジニアに判断または証明する方法がわかりません。
何が起こっているのかについてのアイデアをいただければ幸いです。
c# - c#はdirectory.getdirectoriesからハイフンを除外します
Directory.GetDirectoriesメソッドを使用して、いくつかの除外を含むすべてのディレクトリを取得したいと思います。特に、ハイフンが含まれているディレクトリを除外する必要があります。正規表現が検索パターンとして機能しないことはすでにわかっています。どの検索パターンを使用しますか?
c# - パスからディレクトリを除外
ドライブから「システム ボリューム情報」を除くすべてのディレクトリを取得したい 問題は、圧縮のために別のコンソール アプリケーションに引数を送信していることです。単一のパスのみを送信する必要があります。どうやってするか?
たとえば、qpress.exe のコマンド ライン
「System Volume Information」フォルダをアーカイブに含めないようにしたい
.net - Directory.GetDirectories()によって返されるディレクトリの順序は、順序付けが保証されていますか?
ドキュメントには記載されていませんDirectory.GetDirectories()
が、常に辞書式順序でソートされたディレクトリ名の配列を返すように見えます。この実装の詳細に依存するのは安全ですか(私のニーズに適しています)、または必要に応じてディレクトリリストを並べ替える必要がありますか?
c# - サブフォルダーの数をすばやく見積もる
私の C# 3.0 アプリケーションは、フォルダーをトラバースし、フォルダー内で何らかの処理を行う必要があります。意味のある進行状況を示すには、フォルダーの総数を知る必要があります。
オプションで使用するDirectory.GetDirectories
とAllDirectories
、約 100K のフォルダーがある 2Tb ハード ドライブで非常に長い時間がかかり、その操作でも進行状況を表示する必要があります。私ができる唯一の意味のあることは、再帰を使用Directory.GetDirectories
して、すでに見つかった多数のディレクトリをユーザーに提示することです。ただし、これは最初のアプローチよりもさらに時間がかかります。
どちらのアプローチも遅すぎると思います。この番号をより速く取得する方法はありますか? たとえば、PInvoke
?を使用していくつかのファイル テーブルから取得します。他のアイデアはありますか?
c# - ディレクトリ階層の各ファイルとフォルダを出力する方法
すべてのファイルとフォルダー、およびそれらのフォルダー内のファイルへの方法を探しています。
例として。
私が持っている場合
プログラム内のこれらのファイルのそれぞれを出力できるようにしたいので、次のようになります。
フォルダ階層に合わせて。
とにかくこれを行うことはありますか?
ありがとう
c# - C# で '\' (バックスラッシュ) がないとサブディレクトリにアクセスできない
c: ドライブのサブディレクトリにアクセスしようとすると、奇妙な状況が発生しました。
最初に次のコードを試してみましたが、出力は 0 (ゼロ) でした:
MessageBox.Show(new DirectoryInfo("c:").GetDirectories().Length.ToString());
しかし、パス (c:) に '\' を追加すると、c: ドライブ内のサブフォルダーの正確な数が表示されました。
MessageBox.Show(new DirectoryInfo("c:\\").GetDirectories().Length.ToString());
しかし、次のような別のドライブ(d :)を試しました:
MessageBox.Show(new DirectoryInfo("d:").GetDirectories().Length.ToString());
すべてのサブディレクトリを取得します。
なぜそれが起こったのか誰か説明できますか?
ありがとうみんな。これで、 「c:」が現在のディレクトリではなくルート「c:\」を返すだけであることがわかりました。しかし、当惑したようにエラーは発生しません。