скрипт bat, ссылающийся на скрипт python - PullRequest
1 голос
/ 01 февраля 2011

У меня есть .bat, который устанавливает среду, которая позволяет пользователям выполнять несколько сценариев Python для определенных заданий. Моя цель - создать ссылки на скрипты.

Например, пользователь запускает .bat, появляется окно cmd, и вместо ввода python theLongestPythonScriptNameInTheWorld.py он набирает python go.

Моя целевая платформа - Windows XP, поэтому mklink здесь не будет работать. Я не хочу использовать fsutil hardlink. Кроме того, я просто попытался set ok=theLongestPythonScriptNameInTheWorld.py, но вместо того, чтобы id набирал python %go%, пользователь должен избегать (по модулю, так как это меня разозлит, если мне потребуется набрать модуль). Я также хочу избежать WSH, потому что я хочу, чтобы это работало на нативных установках XP.

Существуют ли другие решения, кроме mklink, fsutil, set и WSH?

Ответы [ 3 ]

3 голосов
/ 01 февраля 2011

Ваш пакетный файл может принимать параметр и использовать его, чтобы решить, какой пакет Python запускать.

@echo off
REM Set Environment Here
if %1=="GO" python yourLongestScriptNameInTheWorld.py %2 %3 %4 %5
if %1=="STOP" python anotherScript.py %2 %3 %4 %5

Итак, если пакетный файл называется foo.bat, он может набрать:

foo GO arg1 arg2 arg3

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

Я полагаю, что, в конце концов, вы поймете, что используете довольно дурацкий язык сценариев для запуска вашего любимого языка сценариев, и решите сделать все это IN Python вместо командного языка Batch .

1 голос
/ 01 февраля 2011

Если вы хотите набрать python go, я могу думать только о том, чтобы переименовать ваш скрипт в go.

Или, как и большинство других людей, создайте скрипт с именем go.bat со следующим содержанием:

@echo off
python yourLongestScriptNameInTheWorld.py %*

Вы можете установить окружение в этом пакетном файле, а затем запустить go [your_args]. Это еще меньше печатает для пользователей.

0 голосов
/ 01 февраля 2011

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

Например, вы можете предоставить py_go.bat для вызова python theLongestPythonScriptNameInTheWorld.py

...