Подтвердить что ты не робот

Как получить текущий каталог Windows, например. C:\in С#

Как видно из названия, как вы можете получить текущий диск с ОС, поэтому вы можете добавить его в строку, например:

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

Спасибо

4b9b3361

Ответ 1

Добавьте ссылку на систему IO,

using System IO;

Затем напишите свой код следующим образом:

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

Этот код установит path на букву локального диска, в которой установлена ​​Windows. Вы можете использовать приведенную выше переменную для более дальнейших модификаций.

например:

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

enter image description here

Ответ 2

При поиске определенной папки (например, "Мои документы" ) не используйте жестко закодированный путь. Пути могут меняться от версии к версии Windows (C:\Documents and Settings\ vs C:\Users\) и были локализованы в более старых версиях (C:\Users\user\Documents\ vs C:\Usuarios\user\Documentos\). В зависимости от конфигурации пользовательские профили могут быть на другом диске, чем Windows. Windows не может быть установлена ​​там, где вы ожидаете (она не должна быть в \Windows\). Возможно, в других случаях я не знаю.

Вместо этого используйте API-интерфейс Shell (SHGetKnownFolderPath), чтобы получить фактический путь. В .NET эти значения легко получить из Environment.GetFolderPath. Если вы ищете папку "Мои документы" пользователя:

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

Полный список специальных папок

Ответ 3

Вы можете использовать Environment.CurrentDirectory, чтобы получить текущий каталог. Environment.SystemDirectory предоставит вам системную папку (например: C:\Windows\System32). Path.GetPathRoot даст вам корень пути:

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