2011-02-01 6 views
1

私は特定のジョブに対していくつかのPythonスクリプトを実行できる環境を設定する.batを持っています。私の目標は、スクリプトへのリンクを作成することです。Pythonスクリプトにリンクしているbatスクリプト

たとえば、ユーザーが.batを実行すると、cmdウィンドウがポップアップし、python theLongestPythonScriptNameInTheWorld.pyと入力する代わりに、python goと入力します。

私のターゲットプラットフォームはWindows XPですので、mklinkはここで動作しません。私はfsutil hardlinkを使用したくありません。また、私は単にset ok=theLongestPythonScriptNameInTheWorld.pyを試しましたが、idはむしろユーザーがpython %go%と入力するのを避けています(モジュロを入力する必要がある場合は、私を怒らせるでしょう)。私はこれをネイティブXPインストールで実行したいので、WSHを避けたい。

mklink,fsutil,setおよびWSH以外の解決策はありますか?

+0

何も入力しないのはなぜですか?なぜPythonスクリプトを実行しないのですか? – Gerrat

+0

@Gerratスクリプトは引数を必要とするcliユーティリティです。 – sbartell

答えて

3

バッチファイルはパラメータをとり、それを使って実行するPythonパッケージを決定することができます。バッチファイルがfoo.bat呼び出された場合

@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 GO arg1 arg2 arg3 

を、ユーザーがbatファイルにパラメータを渡したくない場合(たとえば、あなたがありますアイコンのショートカットから実行すると)、CHOICEコマンドを使用してリストからPythonパッケージを選択するようにユーザーに指示することができます。

私は、あなたが好きなスクリプト言語を実行し、これをすべてやることを決めるためにかなり虚偽のスクリプト言語を使用していることに気付くでしょうINバッチコマンド言語ではなくPython。

0

自分のために何か似たようなことをするとき、私はちょうどもういくつかのバッチファイルを作成しました。

は、たとえば、あなたがpython goを入力したい場合はpy_go.batpython theLongestPythonScriptNameInTheWorld.py

+0

私はこれを一点で考えましたが、それはまったくありません。環境を設定するスクリプトが1つ必要です。 – sbartell

1

を呼び出すために提供することができ、私は考えることができる唯一の方法は、goにスクリプトの名前を変更することです。

あるいは、他のほとんどの人は、以下の内容で、go.batという名前のスクリプトを作成し、行っているように:

@echo off 
python yourLongestScriptNameInTheWorld.py %* 

あなたは、あなたがgo [your_args]を実行し、このバッチファイルで環境を設定することがあります。それは、ユーザーのための入力がさらに少なくなります。