Есть задача написать приложение, которое будет способно создавать некоторые файлы в директории.
Местом для файлов должен стать путь в системе, в котором пользователь находился на момент вызова программы. Действие должно совершается без указания пути в аргументах. Запуск программы осуществляется через терминал.
Примером такого функционала можно считать небезизвестный «git init». Запуск git init, без оказания доп. аргументов, осуществляет создание директории .git в текущем каталоге.
Программа представляет собой py файл, расположенный в /usr/local/bin.
- Вопрос задан более трёх лет назад
- 162 просмотра
Источник: qna.habr.com
Directory. Get Current Directory Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Как разблокировать доступ к папкам и файлам? Получить Суперадминские права?
Получает текущий рабочий каталог приложения.
public: static System::String ^ GetCurrentDirectory();
public static string GetCurrentDirectory ();
static member GetCurrentDirectory : unit -> string
Public Shared Function GetCurrentDirectory () As String
Возвращаемое значение
Строка, содержащая абсолютный путь к текущей рабочей папке без обратной косой черты () в конце.
Исключения
У вызывающего объекта отсутствует необходимое разрешение.
Операционной системой является Windows CE, которая не поддерживает функциональность текущего каталога.
Этот метод доступен в .NET Compact Framework, но в настоящее время не поддерживается.
Примеры
В следующем примере показано использование метода GetCurrentDirectory .
using namespace System; using namespace System::IO; int main() < try < // Get the current directory. String^ path = Directory::GetCurrentDirectory(); String^ target = «c:\temp»; Console::WriteLine( «The current directory is «, path ); if ( !Directory::Exists( target ) ) < Directory::CreateDirectory( target ); >// Change the current directory. Environment::CurrentDirectory = target; if ( path->Equals( Directory::GetCurrentDirectory() ) ) < Console::WriteLine( «You are in the temp directory.» ); >else < Console::WriteLine( «You are not in the temp directory.» ); >> catch ( Exception^ e ) < Console::WriteLine( «The process failed: «, e ); > >
Imports System.IO Public Class Test Public Shared Sub Main() Try ‘ Get the current directory. Dim path As String = Directory.GetCurrentDirectory() Dim target As String = «c:temp» Console.WriteLine(«The current directory is «, path) If Directory.Exists(target) = False Then Directory.CreateDirectory(target) End If ‘ Change the current directory. Environment.CurrentDirectory = (target) If path.Equals(Directory.GetCurrentDirectory()) Then Console.WriteLine(«You are in the temp directory.») Else Console.WriteLine(«You are not in the temp directory.») End If Catch e As Exception Console.WriteLine(«The process failed: «, e.ToString()) End Try End Sub End Class
Комментарии
Текущий каталог отличается от исходного каталога, из которого был запущен процесс.
Как найти папку Appdata в Windows
Список распространенных задач ввода-вывода см. в разделе «Общие задачи ввода-вывода».
Применяется к
См. также раздел
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Источник: learn.microsoft.com
Как получить директорию программы?
Чтобы определить директорию запускаемой программы необходимо подключить библиотеку Sysutils.hpp и воспользоваться функцией ExtractFileDir(). Собственно небольшой код реализации:
ExtractFileDir(Application->ExeName);
Поделиться
Подготовил материал
Табаков Юрий
Программист
Автор и редактор проекта CuBook.PRO. Главная задача, которую я ставлю перед собой – донести до начинающих программистов удобочитаемый материал. Буду рад выслушать замечания и предложения. Не забываем ставить оценки и делать репосты =)
Минутка юмора
Один программист говорит другому: — Жена совсем достала! Все вpемя шипит на меня! — А может, она сконнектиться пытается?
Самое интересное
- ShellExecute – открыть папку или приложение
- Log – натуральный логарифм
- StringGrid – таблица строк и столбцов
- Chart – графики и диаграммы
- Modf – разделяет число на целую и дробную части
Источник: cubook.pro