Нужен текущий путь (где я в терминале пишу "addpath") с использованием batch-файла (добавляется как к системному пути) - PullRequest
1 голос
/ 24 сентября 2019

Я добавил пакетный файл ("addpath.bat") в качестве системного пути, чтобы я мог запустить его из любой папки с помощью команды "addpath".Мне нужно, чтобы программа возвращала путь, из которого она была вызвана (а не местоположение самого файла "addpath.bat").

Я пробовал: %cd% Но это дает мне местоположениефактический файл, который мне не нужен.

"addpath.bat"

cd C:\path\to\pythonfile
SET mypath=%cd%
python addpath.py %mypath%

Python-файл используется только для распечатки выходных данных пакетного файла

"addpath.py"

import sys
print(f'\n\nThis is the path: {sys.argv[1]}')

Если я открываю терминал (CMD или PowerShell) на рабочем столе ("C: \ Users \ user \ Desktop"), я ожидаю получить программуверните путь:

C: \ Users \ user \ Desktop

1 Ответ

0 голосов
/ 24 сентября 2019

Проблема, как сказал @Mofi, в том, что я сменил каталог, прежде чем пытаться найти путь.Решение состоит в том, чтобы определить mypath перед изменением каталога и затем использовать его в python-файле

"addpath.bat"

SET mypath=%CD%
cd C:\path\to\pythonfile
python addpath.py %mypath%

"addpath.py"

import sys
print(f'\n\nThis is the path: {sys.argv[1]}')
...