dos命令执行exe文件以及dos命令start教程,案例-双开微信

一、背景介绍

本人有两个微信,而且两个微信都是有在频繁的使用。所以为了使用方便,希望能在电脑上打开微信的时候,也是能打开两个微信。

但是众所周知,电脑版微信在打开一个微信之后,再去点击微信图标,是只会弹出已经打开的登录界面的。满足不了我的要求。

除非 在第一次点击微信图标的时候,在登录窗口还没有弹出来之前,快速再次点击微信图标,才有一定几率会弹出两个微信窗口。(用专业的话说, 就是在第一个进程没有响应之前,第二个进程没有识别到有程序在运行,会另起一个新进程。这样我们就有两个单独的微信进程可以使用。)

这样我们就获得了两个可以登录的微信窗口,就可以在电脑上使用双开微信了。

因此为了使这种概率事件变成必现事件,我们有必要让每次的微信进程启动都是并行启动的。

二、解决方案

使用cmd脚本并行运行微信启动程序,或者使用bat批处理cmd脚本。

三、相关知识

1、dos命令启动软件

我们正常在dos窗口运行一个exe程序的时候,可以直接输入XX.exe来进行启动程序。

比如,打开网易云软件

先找到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>

image-20230408214342281

然后对应的软件就会打开。

image-20230408214300459

1.1、其他情况:

在dos窗口有时候可以直接输入命令并执行。

比如:打开电脑上的计算器

D:\>calc.exe

image-20230408214739140

1.1.1、解释

在 Windows 操作系统中,calc.exe 是计算器应用程序的文件名。

我们在dos操作窗口直接输入calc.exe 命令的时候,Windows 操作系统会查找 calc.exe 文件并尝试启动它。

我们在执行cmd命令进入dos窗口的时候,本来就是有根据环境变量去寻找对应的cmd.exe文件。

ps: 在 Windows 系统中,操作系统的环境变量 PATH 包含了一些常用的系统目录,其中包括系统自带的一些应用程序所在的目录。

image-20230408224709529

当我们输入某个应用程序的文件名时,在当前的D:\下面找不到对应的程序名,系统会根据 PATH 变量中的路径来查找该文件,并尝试启动它。因此在这种情况下,系统会在 PATH 变量中预设的路径中寻找 calc.exe 文件并成功打开计算器应用程序,即现在是去C:\Windows\system32文件中进行寻找,并找到了calc.exe文件。

image-20230408225400441

补充1:

注意优先级,是先到D盘中进行寻找,找不到了才会去系统变量中寻找。

补充2:

只输入calc,不输入后边的.exe也是可以运行的,它会自动寻找这个名字的程序或者批处理,如果没有这个名字的exe,就会寻找这个名字的bat批处理文件,所以说大家在启动exe或者批处理的时候,最好加上后缀名就是EXE或者BAT,否则的话,有可能会启动出错。

image-20230408230454978

补充3:

使用完整的路径启动exe文件也是可以的。如:C:\Windows\System32\calc.exe

image-20230408231322799

1.1.2、简单测试

1、在C:\Windows\system32创建一个简单的脚本文件——2.bat

内容为:

echo test
pause

在D盘中没有2.bat的情况下,去dos窗口中输入2.bat

image-20230408225834230

如图所示,是直接输出了test。

2、此时在D盘再创建一个2.bat

内容为:

echo test22222
pause

此时再去dos窗口中输入2.bat

此时输出的内容为test22222

image-20230408230030689

因此可证其优先级关系。

2、dos中的start命令

dos中的start命令可以启动一个EXE程序,也可以启动一个BAT批处理脚本。

start这个命令是个并行的命令,就是说运行exe的时候它可以同时运行多个。有点类似java程序中的线程的start方法一样。

2.1、start命令的简单介绍

输入命令start /?可以查看这个命令的介绍和参数

image-20230408231809679

这里的参数比较多,感兴趣的同学可以自行研究,因为我们平时用到的也不多。这里简单讲下参数max和min。

参数MAX 以最大化方式启动窗口。

参数MIN 以最小化方式启动窗口。

2.2、同一窗口:串行

创建一个脚本test.bat。同时在该脚本文件同一个文件夹内创建空白的123.txt

内容为:

123.txt
123.txt
pause

执行结果为:

在执行时候,会卡在第一条命令,并启动123.txt

image-20230408233722131

当我关闭了123.txt的时候,命令继续往下执行,并再次弹出了123.txt

image-20230408233817286

再次关闭123.txt,命令继续往下执行。

image-20230408233958225

可以看到该脚本的第二条命令并没有立刻执行,只有在关闭了第一条命令之后,才会继续执行第二条命令。

这个就是一个批处理脚本中一个串行的概念,依次运行EXE,当第一个关闭之后才会运行到第二个。

2.3、同一窗口:并行

此时我们修改脚本,将其内容修改为:

start 123.txt
start 123.txt
pause

执行结果:

命令直接运行到了第三行,并弹出2个123.txt窗口。

image-20230408234313670

结论:

由此可见,start这个命令并不会卡在这个批处理脚本中,它是并行运行的,不会等待第一个程序结束之后才会运行第二个。

所以有的时候我们在做多个批处理或者运行多个程序的时候必须使用start这个命令。

2.4、不同窗口的数据的传递

2.4.1、创建脚本

创建1.bat脚本,内容为:

echo %X%
pause

执行结果为:

image-20230408234639031

2.4.2、直接调用脚本测试

在dos窗口先设定x值,然后执行1.bat脚本。

执行结果:

image-20230408234936306

现象:

这个时候bat会在当前的dos窗口中直接就输出x变量的值。

2.4.3、使用start命令调用脚本测试

在dos窗口先设定x值,然后使用start命令执行1.bat脚本。

执行结果:

image-20230408235153512

现象:

运行后可以看到新建了一个dos窗口,但是也能直接输出了一个2222这个值。

结论:

start这个命令可以在一个新的窗口中传递当前一些变量的值,这个在多个批处理中,经常会用到。

四、背景问题解决方案执行

创建脚本双开微信.bat

内容如下:

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

执行结果:

出现两个微信登录窗口。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值