103

次の2行のバッチファイルを実行しています。

start C:\Users\Yiwei\Downloads\putty.exe -load "MathCS-labMachine1"
"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow

このバッチファイルは、Xmingアプリケーションを実行してからPuTTYアプリを実行するために使用されるため、大学のコンピューターラボにSSHで接続できます。

ただし、これを実行し、Xmingがまだ開いていない場合、PuTTYターミナルを終了すると、cmdウィンドウは開いたままになります。すでにXmingを実行している場合にのみ、PuTTYターミナルを閉じるときにcmdウィンドウが閉じます。exitバッチファイルの最後の行に追加しようとしましたが、役に立ちませんでした。

4

11 に答える 11

152

Modify the batch file to START both programs, instead of STARTing one and CALLing another

start C:\Users\Yiwei\Downloads\putty.exe -load "MathCS-labMachine1"
start "" "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow

If you run it like this, no CMD window will stay open after starting the program.

于 2013-02-05T06:45:41.310 に答える
31

通常、バッチファイルは「。」とだけ書かれた行で終了しますexit。ファイルが実行され、2秒後にDOSウィンドウが閉じることを確認したい場合は、次の行を追加できます。

timeout 2 >nul
exit

ただし、exitバッチファイルが別のウィンドウを開いている場合はコマンドは機能しません。2番目のウィンドウが開いている間は、古いDOSウィンドウも表示されるためです。

解決策:たとえば、コンピューターに関するすべての情報を表示するBgInfoと呼ばれる小さな無料のプログラムがあります。と呼ばれるディレクトリにあると仮定しC:\BgInfoて、スイッチを使用してバッチファイルから実行し、実行/popup中にDOSウィンドウを閉じるには、次を使用します。

start "" "C:\BgInfo\BgInfo.exe" /popup
exit
于 2017-03-04T16:22:32.197 に答える
7

コマンドをファイルごとに1つのコマンドに分割する場合は、次の操作を実行できます。

cmd /c start C:\Users\Yiwei\Downloads\putty.exe -load "MathCS-labMachine1"

そして他のファイルでは、あなたはすることができます

cmd /c start "" "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow

コマンドcmd/cは、exeの実行後にコマンドプロンプトウィンドウを閉じます。

于 2017-10-30T20:31:18.390 に答える
7

現在のコマンドウィンドウをすぐに閉じるには、最後のコマンド/行として追加するだけです。

move nul 2>&0

どこにも移動して、 stderrstdinnulにリダイレクトすると 、現在のウィンドウcmd.exeが閉じられます。

これは、バットを閉じるgoto :EOF、またはを使用してバットを終了することとは異なります。Exit /b

私は、行動を説明する答えを見つけるために質問を開きました。 それはバグでしょうか?実行時に現在のcmdウィンドウをすぐに閉じる:movenul 2>&0

于 2021-01-21T01:35:30.737 に答える
2

これは私のために働いた。ゲーム終了後にコマンドウィンドウを自動的に閉じたかっただけです。デスクトップの.batファイルをダブルクリックするだけです。ショートカットはありません。

taskkill /f /IM explorer.exe
C:\"GOG Games"\Starcraft\Starcraft.exe
start explorer.exe
exit /B
于 2014-12-24T22:37:47.870 に答える
0

私はこれを持っていました、私は追加しましEXITた、そして最初はそれは機能しませんでした、私はcalled program exitingここで別の応答で言及されたアドバイスを要求することによって推測します、しかしそれは今さらに苦労することなく機能します-これを引き起こした原因はわかりませんが、注意すべき点は私が.htmlそれを処理するプログラムではなくデータファイルを呼び出すと、他に何も編集しませんでしたが、batファイルを使用してそれらのWebドキュメントのメインアクセスページにアクセスし、ルートフォルダに、、browser.exeがあるだけで、はるかにすっきりしていると言えば十分ですtitle.bat。残りのコンテンツはサブフォルダーにあります。contents.batindex.bat

すなわち:contents.batは読み取ります

cd subfolder
"contents.html"
exit

また、それらのアイテムのbatファイルアイコンをそれらが含まれるコンテキストに合わせて変更すると見栄えも良くなりますが、それは別の問題です。サブフォルダーにbatファイルを非表示にし、画像を含むルートフォルダーにそれらへのカスタムアイコンショートカットを作成します。カスタマイズも隠しました。

于 2014-07-01T12:40:18.007 に答える
0

やや危険なものを試すことができます:taskkill /IM cmd.exe..開いているcmdとその前に開いているcmdを強制終了する危険なbcz。

または、正しいcmd.exeがあることを確認するための検証を追加してから、次のようにPIDを介して強制終了します。

set loc=%time%%random%
title=%loc%
for /f "tokens=2 delims= " %%A in ('tasklist /v ^| findstr /i "%loc%"') do (taskkill /PID %%A) 

最初に確認したい場合は、(pslist &&A)または代わりに使用します( pstoolsをインストールしている場合もあります)。(tasklist /FI "PID eq %%A")(taskkill /PID %%A)

于 2014-08-26T19:58:08.727 に答える
0

「.bat」ファイルを使用する代わりに、Windowsの「ショートカット」ファイルを参照してアプリケーションを起動できる場合がありますが、プロンプトが残る問題はありません。ただし、batファイルほど柔軟ではありません。

于 2021-02-11T02:12:18.767 に答える
-1

以下にリストされているように試してください/s

バッチファイルタイプの最後の行として:

exit /s

上記のコマンドは、WindowsCMDウィンドウを閉じます。

/s-のようにサイレントを表します(キーボードからの入力を待ちます)。

于 2019-12-06T22:05:48.407 に答える
-1

私は以下のようなことをします

start ""
** code
exit

それは私のために働いています

于 2022-01-14T23:12:55.743 に答える
-2

これは私のために働く

cd "C:\Program Files\SmartBear\SoapUI-5.6.0\bin"

start SoapUI-5.6.0.exe -w "C:\DATA\SoapUi\Workspaces\Production-workspace.xml"

exit
于 2021-01-13T08:40:06.697 に答える