В Windows вы можете перейти в «Выполнить», введите «cmd», нажмите enter и запустите «C: \ Windows \ system32 \ cmd.exe» довольно легко. То же самое верно для «python» или «pythonw» (хотя во втором примере ничего не появляется). Если все, что вы знаете, это то, что вы хотите выполнить «python» или «pythonw» и что он находится в PATH, какой самый простой способ в C определить полное имя пути для исполняемого файла? This question, по-видимому, сильно связан с проблемой, но не дает окончательного решения в C. _execp позволяет использовать строку «python» или «pythonw», но для этого параметра требуется квалифицированный путь для первого аргумента для параметра argv функции.Как найти полное имя пути к файлу?
1
A
ответ
3
Посмотрите на API-интерфейс оболочки PathResolve (который, однако, помечен как «съемный в любой будущей версии Windows», поэтому я бы его избежал) и PathFindOnPath, что вместо этого является стабильным API. С PathFindOnPath передайте имя файла для поиска (например, yourexecutable.exe) в качестве первого параметра, а NULL - второго.
4
Используйте getenv(), чтобы получить путь, разделите его на строки (точкой с запятой на Windows), затем проверьте, есть ли исполняемый файл с указанным именем в каждом каталоге по очереди.
#include <iostream>
#include <sstream>
#include <sys/stat.h>
int main(void)
{
std::stringstream path(getenv("PATH"));
while (! path.eof())
{
std::string test;
struct stat info;
getline(path, test, ':');
test.append("/myfile");
if (stat(test.c_str(), &info) == 0)
{
std::cout << "Found " << test << std::endl;
}
}
}
Замените myfile на что угодно, а на Windows замените ':' на ';' так как разделитель путей отличается.
1
Вы можете использовать PathFindOnPath() и передать NULL для второго значения для поиска текущей переменной среды PATH.
Смежные вопросы
- 1. Windows cmd найти полное имя пути
- 2. требуется имя вместо пути к файлу
- 3. Как найти часть строки пути к файлу?
- 4. Как найти пути к файлу в тексте?
- 5. Найти имя файла из полного пути к файлу
- 6. Имя пути, содержащего полное имя файла?
- 7. Как найти полное имя сборки?
- 8. Имя пакета не соответствует пути к файлу
- 9. Имя пакета не соответствует пути к файлу
- 10. Имя пути к файлу и ввод пользователя
- 11. Поиск пути к файлу
- 12. Найти неограниченные пути к файлу в строке
- 13. Найти дополнительную папку в пути к файлу
- 14. StreamReader пути к файлу
- 15. Как получить полное имя пути в C++
- 16. Поиск пути к файлу
- 17. Переменные пути к файлу
- 18. Путь к файлу пути
- 19. Подстановка пути к файлу
- 20. Печать полного пути к файлу
- 21. Django Загрузить файл получить полное имя и путь к файлу
- 22. Как найти полное доменное имя Azure VM
- 23. Проверка пути к файлу
- 24. Создание пути к файлу
- 25. Как извлечь имя файла из пути к файлу
- 26. Как получить имя родительской папки из пути к файлу?
- 27. Как извлечь имя файла из имени пути к файлу?
- 28. Как извлечь имя файла из пути к файлу в python?
- 29. Как получить имя файла из пути к файлу в android
- 30. Имя PDF рассматривается как часть пути к файлу
... а определение «исполняемый» задается как «echo% PATHEXT%». – RichieHindle