it-swarm.com.de

So erhalten Sie ein aktuelles Windows-Verzeichnis, z. C:\in C #

Wie der Titel besagt, wie können Sie das aktuelle Betriebssystemlaufwerk abrufen, sodass Sie es in einem String hinzufügen können, z. 

MessageBox.Show(C:\ + "My Documents");

Vielen Dank

22
Miles

Fügen Sie eine Referenz für das System IO hinzu.

using System IO;

Dann schreibe deinen Code so;

string path = Path.GetPathRoot(Environment.SystemDirectory);

Dieser Code setzt path auf den Local Drive Letter, den Windows installiert hat. Sie können die obige Variable für weitere Modifikationen verwenden.

z.B:

MessageBox.Show("Windows is installed to Drive " + path);

enter image description here

52
Otávio Décio

Bei der Suche nach einem bestimmten Ordner (z. B. "Eigene Dateien") verwendet keinen fest codierten Pfad. Pfade können sich von Version zu Version von Windows ändern (C:\Documents and Settings\ vs. C:\Users\) und wurden in älteren Versionen lokalisiert (C:\Users\user\Documents\ vs. C:\Usuarios\user\Documentos\). Je nach Konfiguration können sich Benutzerprofile auf einem anderen Laufwerk als Windows befinden. Windows wird möglicherweise nicht so installiert, wie Sie es erwarten (es muss sich nicht in \Windows\ befinden). Es gibt wahrscheinlich andere Fälle, die mir nicht bewusst sind.

Verwenden Sie stattdessen die Shell-API (SHGetKnownFolderPath), um den tatsächlichen Pfad abzurufen. In .NET können diese Werte leicht von Environment.GetFolderPath abgerufen werden. Wenn Sie nach dem Ordner "Eigene Dateien" des Benutzers suchen:

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

Vollständige Liste der speziellen Ordner

9
josh3736

Sie können Environment.CurrentDirectory verwenden, um das aktuelle Verzeichnis abzurufen. Environment.SystemDirectory gibt Ihnen den Systemordner (zB: C:\Windows\System32). Path.GetPathRoot gibt dir die Wurzel des Pfads:

var rootOfCurrentPath = Path.GetPathRoot(Environment.CurrentDirectory);
var driveWhereWindowsIsInstalled = Path.GetPathRoot(Environment.SystemDirectory);
6
Reed Copsey

Wenn es Ihnen nichts ausmacht, ein bisschen zu analysieren: http://msdn.Microsoft.com/de-de/library/system.environment.systemdirectory.aspx

Environment.systemdirectory gibt das aktuelle Verzeichnis zurück.

0
mydogisbox