Получение и настройка рабочей папки программы C#


При выполнении программы назначается рабочая папка. Это может быть та же папка, что и у исполняемого файла программы, или может быть задана другая папка с помощью свойств ярлыка. Правильную рабочую папку можно найти с помощью класса Environment.

Класс Environment

Класс Environment - это стандартный класс в пространстве имен System. Он предоставляет информацию о текущем окружении и операционной системе и, в некоторых случаях, позволяет изменять эту информацию. Класс Environment содержит статическое свойство CurrentDirectory, которое позволяет определить рабочую папку приложения.

Свойство CurrentDirectory

Статическое свойство CurrentDirectory возвращает строку, содержащую рабочую папку выполняющейся программы. Если программа была запущена двойным щелчком на самом исполняемом файле, то рабочей папкой будет та же директория, в которой находится программа. Однако если приложение было запущено с помощью ярлыка Windows, то в качестве рабочей папки будет использоваться папка, определенная в свойствах ярлыка. Знание правильной рабочей папки необходимо при записи информации на диск, чтобы пользователь мог предсказать, где будут созданы файлы данных.

Следующий пример кода возвращает рабочую папку для программы.

string folder = Environment.CurrentDirectory;
Формат папки в возвращаемой строке отличается для корневых и дочерних папок. Если рабочая папка является корнем диска, возвращаемая строка содержит имя диска и обратную косую черту, например "C:\". Для всех остальных каталогов имя диска и путь к рабочей папке указываются, но обратная косая черта не присутствует, например "C:\MyProgram".

Настройка рабочей папки

Если в вашей программе предусмотрена настройка, позволяющая пользователю переопределять рабочую папку, вы можете захотеть изменить настройку среды из кода. Для этого достаточно присвоить свойству CurrentDirectory новую строку папки, как показано в следующем примере:

Environment.CurrentDirectory = @"C:\";
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, си шарп, папки, файлы




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Урок 18. Введение в фасады Laravel
Возможные проблемы при подключении к Firebird из Visual Studio
11 вопросов и ответов на собеседовании по PHP для начинающих