Dos コマンドは exe ファイルを実行し、dos コマンドでチュートリアルを開始します。ケース - WeChat をダブルオープンします

1. 背景の紹介

私は WeChat アカウントを 2 つ持っており、どちらも頻繁に使用しています。したがって、使いやすさを考慮して、コンピューターで WeChat を開くときに、2 つの WeChat も開くことができればと思います。

しかし、誰もが知っているように、コンピューター版で WeChat を開いて WeChat アイコンをクリックすると、開いているログイン インターフェイスのみがポップアップします。私の要望には応えられません。

ログイン ウィンドウが表示される前に WeChat アイコンを初めてクリックしない限り、すぐに WeChat アイコンをもう一度クリックすると、一定の確率で 2 つの WeChat ウィンドウが表示されます(専門用語で言えば、最初のプロセスが応答しなくなる前に、2 番目のプロセスは実行中のプログラムがあることを認識せず、新しいプロセスが開始されます。このようにして、使用できる 2 つの別々の WeChat プロセスが存在します。)

このようにして、ログイン可能な WeChat ウィンドウを 2 つ取得し、コンピューター上でデュアルオープン WeChat を使用できるようになります。

したがって、この確率的なイベントを必須のイベントにするためには、WeChat の各プロセスを並行して開始する必要があります。

2、解決策

cmd スクリプトを使用して WeChat ランチャーを並列実行するか、bat を使用して cmd スクリプトをバッチ処理します。

3. 関連知識

1. ソフトウェアを起動するための Dos コマンド

通常、DOS ウィンドウで exe プログラムを実行する場合、それを直接入力してXX.exeプログラムを開始できます。

たとえば、Netease クラウド ソフトウェアを開きます。

まず、cloudmusic.exe が存在するフォルダーを見つけて、対応するフォルダーを dos ウィンドウに入力します。次に、cloudmusic.exe を直接入力します。

D:\>cd D:\U_Software\entertainment\CloudMusic\CloudMusic

D:\U_Software\entertainment\CloudMusic\CloudMusic>cloudmusic.exe

D:\U_Software\entertainment\CloudMusic\CloudMusic>

画像-20230408214342281

すると、対応するソフトウェアが開きます。

画像-20230408214300459

1.1. その他の状況:

dos ウィンドウでは、コマンドを直接入力して実行できる場合があります。

例: コンピューターで電卓を開きます。

D:\>calc.exe

画像-20230408214739140

1.1.1. 説明

Windows オペレーティング システムでは、calc.exe は電卓アプリケーションのファイル名です。

dos 操作ウィンドウに calc.exe コマンドを直接入力すると、Windows オペレーティング システムは calc.exe ファイルを検索して起動しようとします。

cmd コマンドを実行して dos ウィンドウに入るとき、最初は環境変数に従って対応する cmd.exe ファイルを検索します。

ps: Windows システムでは、オペレーティング システムの環境変数 PATH に、システム独自のアプリケーションの一部が配置されているディレクトリなど、一般的に使用されるシステム ディレクトリがいくつか含まれています。

画像-20230408224709529

アプリケーションのファイル名を入力すると、現在の D:\ に対応するプログラム名が見つからない場合、システムは PATH 変数のパスに従ってファイルを検索し、起動しようとします。したがって、この場合、システムは PATH 変数に事前設定されたパスで calc.exe ファイルを検索し、電卓アプリケーションを正常に開きます。つまり、C:\Windows\system32 ファイルを検索し、 calc を見つけます。 EXE。

画像-20230408225400441

補足 1:

優先順位に注意して、最初に D ドライブを検索し、見つからない場合はシステム変数を検索します。

補足 2:

以下の.exeを入力せずに、calcと入力するだけで実行することもできます。この名前のプログラムまたはバッチを自動的に検索します。この名前のexeが存在しない場合は、この名前のbatバッチファイルを検索します。 exe またはバッチ処理を使用する場合は、サフィックス名に EXE または BAT を追加するのが最善です。そうしないと、起動エラーが発生する可能性があります。

画像-20230408230454978

補足 3:

フルパスでexeファイルを起動することも可能です。例: C:\Windows\System32\calc.exe

画像-20230408231322799

1.1.2. 簡単なテスト

1. C:\Windows\system32 に簡単なスクリプト ファイルを作成します。2.bat

内容は次のとおりです。

echo test
pause

D ドライブがない場合は2.bat、DOS ウィンドウにそれを入力します2.bat

画像-20230408225834230

図に示すように、テストが直接出力されます。

2. このとき、D ドライブにもう 1 つ作成します2.bat

内容は次のとおりです。

echo test22222
pause

この時点で、dos ウィンドウに移動して と入力します2.bat

このときの出力は ですtest22222

画像-20230408230030689

したがって、その優先関係が証明できる。

2. dos の start コマンド

dos の start コマンドは、EXE プログラムまたは BAT バッチ スクリプトを開始できます。

start コマンドは並列コマンドです。つまり、複数の exe を同時に実行できます。これは、Java プログラムのスレッドの開始メソッドに似ています。

2.1、start コマンドの簡単な説明

コマンド start /? を入力すると、このコマンドの概要とパラメータが表示されます。

画像-20230408231809679

ここには多くのパラメータがあり、通常はあまり使用しないので、興味のある学生は自分で調べることができます。ここでは、パラメータ max と min について簡単に説明します。

パラメータ MAX はウィンドウを最大化して開始します。

パラメータ MIN はウィンドウを最小化して開始します。

2.2、同じウィンドウ: シリアル

スクリプトを作成しますtest.bat同時にスクリプトファイルと同じフォルダにブランクを作成します123.txt

内容は次のとおりです。

123.txt
123.txt
pause

実行結果は次のとおりです。

実行すると、最初のコマンドと start のところで止まってしまいます123.txt

画像-20230408233722131

それを閉じると123.txt、コマンドは引き続き表示され、再びポップアップ表示されます123.txt

画像-20230408233817286

再度閉じる123.txtと、コマンドの実行が続行されます。

画像-20230408233958225

スクリプトの 2 番目のコマンドはすぐには実行されず、最初のコマンドが閉じられた後にのみ 2 番目のコマンドが実行され続けることがわかります。

これはバッチ スクリプトにおけるシリアルの概念であり、EXE を 1 つずつ実行し、最初の EXE が閉じられた後に 2 番目の EXE が実行されます。

2.3、同じウィンドウ: 並列

この時点で、スクリプトを変更し、その内容を次のように変更します。

start 123.txt
start 123.txt
pause

結果:

コマンドは 3 行目まで直接実行され、2 つの123.txtウィンドウがポップアップします。

画像-20230408234313670

結論は:

開始コマンドがこのバッチ スクリプト内でスタックせず、並行して実行され、最初のプログラムの終了を待ってから 2 番目のプログラムを実行しないことがわかります。

したがって、複数のバッチを実行したり、複数のプログラムを実行したりするときに、start コマンドを使用する必要がある場合があります。

2.4. 異なるウィンドウでのデータ送信

2.4.1. スクリプトの作成

1.bat次の内容のスクリプトを作成します。

echo %X%
pause

実行結果は次のとおりです。

画像-20230408234639031

2.4.2. 直接呼び出しスクリプトのテスト

まず dos ウィンドウで x 値を設定し、次に1.batスクリプトを実行します。

結果:

画像-20230408234936306

現象:

このとき、bat は現在の dos ウィンドウに x 変数の値を直接出力します。

2.4.3. start コマンドを使用してスクリプト test を呼び出す

まず dos ウィンドウで x 値を設定し、次に start コマンドを使用して1.batスクリプトを実行します。

結果:

画像-20230408235153512

現象:

実行後、新しい dos ウィンドウが作成されたことがわかりますが、値 2222 を直接出力することもできます。

結論は:

start コマンドは、現在の変数の値を新しいウィンドウに転送でき、複数のバッチでよく使用されます。

4. 背景問題の解決策の実装

スクリプトを作成します双开微信.bat

内容は以下の通りです。

@ echo Double wechat
cd D:\example(这里为具体的微信执行程序所在的文件夹)\WeChat
start WeChat.exe
start WeChat.exe
pause

結果:

WeChat ログイン ウィンドウが 2 つ表示されます。

おすすめ

転載: blog.csdn.net/fengling_smile/article/details/130036907