リモートの大西洋横断のSamba共有からファイルのリストを取得するプロセスがあります。これは自然に遅いですが、ファイル名が必要なだけでなく、最新の書き込み時間が必要です。ディレクトリにはたくさんのファイルがあります。私が知る限り、.NETファイルAPIはそれぞれのファイルを個別に要求しています。必要な情報を迅速に入手する方法はありますか?バッチで完全なディレクトリ情報を取得する方法
答えて
私は自分自身の方法を見つけるのが大好きです。私はまったく同じ問題を抱えています。ネットワークの場所が遅いため膨大な数のファイルがあり、変更をスキャンする必要があります。
私が知る限り、ファイルのプロパティを1つずつ尋ねる必要があります。
ファイルごとに転送される情報の量は、高くするべきではありません。ラウンドアバウトの要求 - 応答時間がおそらく主な問題です。複数のリクエストを並行して実行して状況を助けることができます(例:Parallel.ForEach
を使用)
質問に対する回答は、少なくとも意味のある方法ではないでしょう。
コード内のファイルを正確に列挙する方法は、Windowsの同じファイルシステムAPIを使用するため、ほとんど無関係です。残念ながら、1回の呼び出しでファイルの詳細のリストを返す関数はありません。
あなたのコードがどのようなものであっても、下のどこかでも、ディレクトリの内容が列挙されていて、ファイルごとに特定のファイル機能が個別に呼び出されています。
これは実際に問題がある場合は、検出ロジックをファイルに近づけて、アプリケーションに定期的に結果を送信します。
*免責事項:私はこの記事をスタックに入れてしまったので、今はAPIのドキュメントを閲覧しているので、ちょっとしたことがあります。
もう少し調べてみると、Win32レベルにドロップすると、列挙と同時に情報を取り出すことができますが、これははるかに高速ですが、方法1で単なる操作を実行するだけのものは見つかりません探していた私はWin32の設計時に、大西洋横断のサンバドライブについて実際には考えていないと思います。 –
- 1. asp.netでサイトの完全なヒット情報を取得
- 2. 完全なヘッダー情報でHttpSerlvetRequestオブジェクトを準備する方法
- 3. 完全なファイルをダウンロードせずにメタデータ情報を取得
- 4. RSSデータのリンクから完全な情報を取得
- 5. ファイル情報/検索ディレクトリを取得する方法
- 6. TwitterKitを使用してユーザーの完全な情報を取得する
- 7. Facebookから完全なユーザー情報を取得できません
- 8. タイムゾーン情報を取得する方法
- 9. Twitterのリスト情報を取得する方法(購読情報)
- 10. lotusscriptを使用して完全なWindowsバージョン情報(Windows XP/7)を取得する方法
- 11. Haskell AST不完全な位置情報
- 12. MySQLのSELECTプロセス情報(パーセント完全な)
- 13. 非常に大きなディレクトリの情報を取得する
- 14. バッチ:ファイルにサブファイルを含むフォルダ情報を取得する
- 15. MySQLのフレンドリーな方法で日付情報を取得する
- 16. サポートベクターマシン(SVM)トレーニング後に完全なモデル情報を抽出する方法は?
- 17. powershellのショーウィンドウで完全なヘルプを取得する方法
- 18. 完全なJSONをTwitter4jで取得する方法
- 19. jmeterでBeanシェルスクリプトの完全なログを取得する方法
- 20. Firefox 3でローカルファイルの完全なパスを取得する方法
- 21. SBT 0.10.0で完全なスタックトレースを取得する方法は?
- 22. Linuxの現在のディレクトリにあるファイルの情報を取得する方法
- 23. TreeMap、キーを取得して情報を取得する方法
- 24. Microsoft BotFramework。ボット情報(アイコンなど)を取得する方法
- 25. フロントエンドテストで資格情報を保存する安全な方法
- 26. iFrameの完全なHTMLコンテンツを取得する方法は?
- 27. コードネーム1のbraintreeの完全なコードを取得する方法
- 28. 完全なメモリ使用統計を取得する方法
- 29. ASP.NETアプリケーションの完全な仮想パスを取得する方法
- 30. SPWEBから完全なURLを取得する方法
次のようにしてください:DirectoryInfo info = new DirectoryInfo( "path"); (x => x.Key、y => y.FirstOrDefault()); 辞書 dict = info.EnumerateFiles()。GroupBy(x => x.FullName、y => y.LastWriteTime) ; –
jdweng