“開始”開始されたプログラムにパラメーターが渡されたコマンド
-
03-07-2019 - |
質問
Virtual PC 2007に仮想マシンがあります。
デスクトップから起動するには、バッチファイルに次のコマンドがあります:
"c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch
ただし、仮想マシンがシャットダウンするまでホストマシンにdosプロンプトが表示されたままになり、Virtual PCコンソールを終了します。迷惑です。
だから、代わりにSTARTコマンドを使用するようにコマンドを変更しました:
start "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc MY-PC -launch
ただし、Virtual PCに渡されたパラメーターで停止します。
START /?
は、パラメーターが実際にその場所に配置されることを示します。誰かがSTARTを使用して、複数のコマンドライン引数でプログラムを起動しましたか?
解決
STARTには、最初のパラメーターを二重引用符で囲むという特性があります。最初のパラメーターに二重引用符が含まれている場合、それを新しいウィンドウのオプションのタイトルとして使用します。
あなたが望むものは次のとおりです:
start "" "c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc MY-PC -launch
つまり、偽のプログラム名の前に空のタイトルを付けます。
他のヒント
バッチファイルの代わりに、デスクトップにショートカットを作成できます。
ターゲットを次のように設定します:
"c:\program files\Microsoft Virtual PC\Virtual PC.exe" -pc "MY-PC" -launch
これで準備は完了です。コマンドプロンプトを起動して起動しないため、DOSボックスはありません。
スペースはDOS / CMDの問題ですので、次の方法でパスに移動する必要があります。
cd "c:\program files\Microsoft Virtual PC"
次に、次の方法でVPCを開始します。
start Virtual~1.exe -pc MY-PC -launch
〜1
は、最初に" Virtual"
が付いた最初の exe
を意味します。したがって、" Virtual PC.exe"
と" Virtual PC1.exe"
がある場合、最初のコードは Virtual〜1.exe
および2番目の Virtual〜2.exe
など。
またはVirtualBoxなどのVNCクライアントを使用します。
「特異性」の答え正しく、質問に直接答えます。 TimFが答えたように、最初のパラメーターは引用符で囲まれているため、ウィンドウタイトルとして扱われます。
また、Virtual PCのオプションは「start」コマンド自体のオプションとして扱われているため、「start」には無効です。これは、 'start'コマンドを持つすべてのバージョンのWindowsに当てはまります。
引用されたパラメータをタイトルとして扱う「開始」に関するこの問題は、投稿された問題だけでなく、さらに厄介です。これを実行する場合:
start "some valid command with spaces"
新しいコマンドプロンプトウィンドウが表示され、ウィンドウタイトルの明らかな結果が表示されます。 さらに厄介なことに、この新しいウィンドウはカスタマイズされたフォント、色、ウィンドウサイズを継承せず、cmd.exeの単なるデフォルトです。
任意のパラメーターで二重引用符を使用する必要がある場合、エラー「quote'c:\ somepath 'は認識されません内部または外部コマンド、操作可能なプログラムまたはバッチファイル」を取得できます。 二重引用符を使用する場合、以下の解決策をお勧めします。 https://stackoverflow.com/a/43467194/3835640
[ / D" Path"
]を使用して引用符を使用できます。のみを使用して、パスではなくパスを指定します+プログラム。後続の同じ行にあるすべてのコードは通常の状態に戻るようです。つまり、パスとファイルを分ける必要はありません。
start /D "C:\Program Files\Internet Explorer\" IEXPLORE.EXE
または:
start /D "TITLE" "C:\Program Files\Internet Explorer\" IEXPLORE.EXE
IEをデフォルトのWebページで起動します。
start /D "TITLE" "C:\Program Files\Internet Explorer\" IEXPLORE.EXE www.bing.com
Bingで始まりますが、ホームページはリセットされません。
/ D
は、「ディレクトリ」の略です。引用符を使用しても構いません!
間違った例:
start /D "TITLE" "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
与える:
エラー" 現在のディレクトリが無効です。"
/ D
の後にはディレクトリパスのみが続く必要があります。次に、スペースと起動/実行したいバッチファイルまたはプログラム
XPでテストおよび動作しますが、Windows Vista / 7/8ではUACの調整が必要になる場合があります。
-Mrbios
これらの答えはどれも役に立たなかった。
代わりに、Callコマンドを使用する必要がありました。
Call "\\Path To Program\Program.exe" <parameters>
これが実際に完了するのを待っているかどうかわからない...私がインストールしていたC ++再頒布可能パッケージは、問題にならないほど十分に速くなった
c:ドライブのテストフォルダーにあるパラメーターと.exeファイルを渡す場合
start&quot; parameter&quot ;; &quot; C:\ test \ test1.exe&quot; -pc My Name-PC -launch
c:ドライブのテストフォルダーにパラメーターと.exeファイルを渡したくない場合
start&quot;&quot; &quot; C:\ test \ test1.exe&quot; -pc My Name-PC -launch
Hのテストフォルダーにあるパラメーターと.exeファイルを渡したくない場合:(その他)ドライブ
start&quot;&quot; &quot; H:\ test \ test1.exe&quot; -pc My Name-PC -launch
&quot; / b&quot;パラメータ
start / b&quot;&quot; &quot; c:\ program files \ Microsoft Virtual PC \ Virtual PC.exe&quot; -pc&quot; MY-PC&quot; -launch
「Virtual PC.exe」を変更します; &quot; VirtualPC.exe&quot;のようなスペースのない名前フォルダー内。
start&quot; path&quot;
を&quot;&quot;で記述した場合CMDは、パスをタイトルとして新しいcmdウィンドウを開始します。
名前をスペースなしの名前に変更し、メモ帳でこれを書き、Name.cmdまたはName.batのように保存した後:
CD\
CD Program Files
CD Microsoft Virtual PC
start VirtualPC.exe
timeout 2
exit
このコマンドは、CMDをフォルダーにリダイレクトし、VirualPC.exeを開始し、2秒待って終了します。
試しましたか:
start "c:\program files\Microsoft Virtual PC\Virtual PC.exe" "-pc MY-PC -launch"
?
コマンドをバッチファイル内に配置し、パラメーターを指定して呼び出します。
また、これはまだ試しましたか? (パラメータをカプセル化するために終了引用符を移動します)
start "c:\program files\Microsoft Virtual PC\Virtual PC.exe -pc MY-PC -launch"