2016-03-30 18 views
0

ネットワーク上のすべてのPCをスキャンし、特定のイメージファイルが存在するかどうかを確認するタスクがあります。ネットワーク上の他のPCからファイルの詳細を取得する方法

私はインターネットで検索していますが、正しいトラックはありません。

私は同じネットワーク上の私のサーバーからC#(私はC#で快適です)コンソールアプリケーションを使用してこれを行うことができますか?そしてどうやって?

私はコードの下に使用して単一の共有フォルダのためにこれを行っている:

List<string> result = new List<string>(); 
       List<string> searchPatterns = new List<string> { "*.jpg", "*.eps", "*.gif", "*.tiff" }; 

       // Store a stack of our directories. 
       Stack<string> stack = new Stack<string>(); 

       // Add initial directory. 
       stack.Push(SharedFolderPath); 

       while (stack.Count > 0) 
       { 
        // Get top directory 
        string dir = stack.Pop(); 

        // Add all files at this directory to the result List. 
        result.AddRange(searchPatterns.SelectMany(filter => System.IO.Directory.GetFiles(dir, filter)).ToArray()); 

        // Add all directories at this directory. 
        foreach (string dn in Directory.GetDirectories(dir)) 
        { 
         stack.Push(dn); 
        } 
       } 

私たちのネットワーク上で利用可能なコンピュータのリストを取得することができますが、そのリモートコンピュータにありますどのように多くのドライブをチェックする方法は?次にPedroがコメントしたように、そのドライブ内のすべてのファイルにアクセスするために$を使用します。

+0

ネットワークはどのように設定されていますか?ローカルドライブではないことを完全に無視する可能性があります。 'var fi =新しいFileInfo(@" \\ RemoteComputer \ Folder ");'マップされたドライブと同じように正常に動作します – Rob

+0

ドライブはマップされていません。私は共有フォルダのためにこれを行った。しかし今私は、私たちのネットワーク上のすべてのPCのために行う必要があり、各PCの各ドライブの各フォルダをスキャンして、それらの画像がそれらのPC上に存在するかどうかをチェックする必要があります。 –

+0

これらのすべてのコンピュータに必要な特権を持っている場合は、$ notation(つまり、\\ RemoteComputer \ c $)を使用してディスクにアクセスできます。 –

答えて

0

主な質問がリモートPCのドライブ情報を取得するだけの場合は、答えはhereです。

+0

オルンクンに感謝、私はこれを試し、あなたに知らせるでしょう。 –

関連する問題