2011-02-01 3 views
1

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

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

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

Есть ли другие решения, кроме mklink, fsutil, set и WSH?

+0

Зачем им вообще что-то типа? Почему бы просто не запустить скрипт python? – Gerrat

+0

@Gerrat Сценарии - это утилиты cli, которые требуют аргументов. – sbartell

ответ

3

Ваш пакетный файл может принимать параметр и использовать его для определения того, какой пакет 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 

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

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

0

Выполняя что-то подобное для себя, я создал несколько более пакетных файлов.

Например, вы могли бы обеспечить py_go.bat вызвать python theLongestPythonScriptNameInTheWorld.py

+0

Я считал это в какой-то момент, но это просто не получится. Мне нужен один сценарий для установки среды. – sbartell

1

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

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

@echo off 
python yourLongestScriptNameInTheWorld.py %* 

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

Смежные вопросы