4

この質問の背後にある目標は、ユーザーが USB キーから直接プログラムを実行 (コンソール) するのに役立つ移植可能な Windows スクリプト/プログラムを作成することです(ただし、必ずしも自動実行を使用する必要はありません)。したがって、スクリプト/プログラムは、 をダブルクリックすると次のことを行います。

  • コンソールを起動し (cmdそうするでしょう)、DOS コマンド プロンプトを表示します。
  • 現在のディレクトリをWorkingDirUSB キー (さまざまな [Python] プログラムを含む) の特定のディレクトリに設定し、
  • ユーザーが別の USB キー ディレクトリにあるコマンド (python.exe) を実行できるように、パスを設定します (これにより、ユーザーは にあるさまざまな Python プログラムを起動できますWorkingDir)。

全体は、USB キーにあるPortable Pythonに基づいています。また、キーの内容をハード ドライブに簡単に配置して、そこから使用できるようにしたいと考えています。

次のようなコマンドを含むファイルを書き込もうとしました:

PATH=..\"Portable Python 2.7.2.1\App":%PATH%
cd WorkingDir
cmd

しかし、Windowsがそれを実行するように呼び出す方法がわかりません(したがって、これらのコマンドが機能するかどうかを確認できませんでした).

私はDOSとWindowsについてあまり知らないので、助けていただければ幸いです!

4

2 に答える 2

3

実際、使用するウィンドウでは ; パスを分離するため:)そして、..をそのように使用しないでください。%CD% を使用して現在のディレクトリを取得し、そこから移動できます。また、引用符は使用しないでください。また、コンソールにエコーしたくないコマンドの前に @ を置くこともできます。

これを run.bat に入れることができます (これは動作するはずです:P):

@PATH=%PATH%;%CD%\..\Portable Python 2.7.2.1\App
@cd WorkingDir
@cmd

そして、それをダブルクリックするだけで、必要に応じてコマンドプロンプトが開きます. または、autorun.inf ファイルを追加して、自動的に開くこともできます。

于 2011-09-12T21:17:38.323 に答える
3

次の 2 つのファイルを作成する必要があります。

autorun.inf

[autorun]
open=cmd.exe "Python Console" /k autorun.cmd
action=Open Python Console...

autorun.cmd

@Echo Off
CD %~d0\WorkingDir
Path %Path%;%~d0\Portable Python 2.7.2.1\App

この句%~d0は、コマンド ファイルが存在するドライブ、つまりフラッシュ ドライブの文字 (E:) を表します。

今、私は2つの小さなしゃっくりに遭遇しました. 私の USB ドライブには、隠しシステムの読み取り専用の autorun.inf ファイルが既に存在していました。編集する前に、次のコマンドで保護を解除する必要がありました。

Attrib autorun.inf -r -s -h

2 番目の問題は、Windows 7 が USB ドライブから自動実行されないことです。エクスプローラーでドライブを右クリックし、[Run Python Console...] を選択する必要があります。

于 2011-09-12T23:29:29.067 に答える