2016-04-17 12 views
0

Wie würde ich nach einer Datei suchen (im aktuellen Verzeichnis der exe läuft) und wenn es nicht gefunden wird, wird es herunterladen? Ich weiß bereits, wie man den Download-Teil, WebClient.DownloadFile ("link.com", "link.exe");Suche nach Datei, wenn nicht, dann Download

TL; DR: Wie würde ich nach einer Datei im Verzeichnis suchen (link.exe) und wenn es nicht dort ist, downloaden Sie es?

+0

Was haben Sie versucht? Sie möchten 1. Kennen Sie den Speicherort des Verzeichnisses, in dem Sie sich derzeit befinden 2. Überprüfen Sie, ob sich eine bestimmte Datei an diesem Speicherort befindet. 3. Wenn Sie die Datei nicht herunterladen möchten – MrSykkox

+0

Benötigen Sie Hilfe beim Suchen des aktuellen exe-Ordners oder nach der Anwesenheit der Datei in diesem Ordner? –

+0

Ich brauche Hilfe beim Suchen nach den Dateien Anwesenheit im aktuellen Ordner. Ich habe bereits den aktuellen Ordner gefunden. –

Antwort

1

Wenn Sie bereits den vollständigen Pfad haben, in dem sich die Datei befinden soll, können Sie einfach System.IO.File.Exists(thePath) aufrufen, was entweder true oder false zurückgibt.

Beachten Sie, dass thePath der vollständige Pfad zur Datei sein muss, nicht zum Ordner.

Oder benötigen Sie etwas anderes?

+0

wäre die Syntax wie folgt: if (System.IO.File.Exists (currentpath \ test.exe == false)) { } –

+4

Es tut mir leid, aber das Programmieren ist kein Ratespiel. Bitte starten Sie Ihren Webbrowser und suchen Sie die 'File.Exists' Methode auf MSDN. Hören Sie auf zu raten, lesen Sie Referenzmaterial. –

+0

Warum glaubst du, dass ich hierher gekommen bin? –

1

Sie möchten zuerst herausfinden, in welchem ​​Verzeichnis Sie sich befinden. Dann wollen Sie überprüfen, ob die Datei existiert oder nicht.

string file_location = Environment.CurrentDirectory + "link.exe"; 
if (File.Exists(file_location) == false) 
{ 
    WebClient.DownloadFile("link.com", "link.exe"); 
} 

Environment.CurrentDirectory: https://msdn.microsoft.com/en-us/library/system.environment.currentdirectory(v=vs.110).aspx

File.Exists: https://msdn.microsoft.com/en-us/library/system.io.file.exists(v=vs.110).aspx

+1

Darf ich stattdessen 'if (! File.Exists (file_location))' vorschlagen? Die Methode gibt einen bool zurück, so dass das Testen gegen 'false' ein wenig redundant ist. Nicht schlecht an sich, nur eine Frage der Präferenz, denke ich. –

Verwandte Themen