Получить путь командной строки, из которой был вызван EXE - PullRequest
0 голосов
/ 06 мая 2018

Это кажется простым вопросом, но я не могу понять, как это сделать. Вот моя ситуация.

Я сделал исполняемый файл в папке в моем PATH. Для простоты предположим, что он называется create_hello, смотрит на место, откуда он был вызван, и создает файл с именем hello.txt. Создание файла обрабатывается EXE. Проблема в получении места, откуда был назван EXE.

Вот пример.

root
|- folder

Представьте, что я звоню create_hello из командной строки в root/folder. Это то, что я ожидаю увидеть.

root
|- folder
   |- hello.txt

Я попытался получить доступ к аргументам среды, переданным в EXE-файл, но он показывает путь, где находится EXE-файл, а не из того места, где был вызван EXE-файл.

Я бы хотел, чтобы он работал в основном в Windows.

Я не думаю, что язык здесь уместен, но если он окажется актуальным, я использую Rust.

1 Ответ

0 голосов
/ 07 мая 2018

std::env::current_dir возвращает текущий рабочий каталог:

напрямую с current_dir страница документа:

use std::env;

// We assume that we are in a valid directory.
let path = env::current_dir().unwrap();
println!("The current directory is {}", path.display());
...