Board logo

标题: [其他] [已解决]BAT脚本达到微信多开的问题 [打印本页]

作者: love303929545    时间: 2018-11-2 11:38     标题: [已解决]BAT脚本达到微信多开的问题

请问大佬们,想弄个微信多开,目前是这种用的其他大佬的(我本人是小白一枚0.0):
  1. @echo off
  2. cd /d "%SrcDir%"
  3. color 0f
  4. :start
  5. echo 请输入要打开微信的个数:
  6. set /p answer=
  7. for /l %%i in (1,1,%answer%) do start WeChat.exe
复制代码
但是这种不适合所有人使用,因为每个人微信安装位置不一样,这个必须要放在微信安装目录下才能正确运行。请问要怎么写,才能够不管微信安装在哪儿,bat不管放哪儿都可以直接多开呢?请大佬指教。
作者: yhcfsr    时间: 2018-11-2 13:04

办法当然有,第一次运行的话肯定要全盘扫描的,扫描到WeChat.exe可以将路径记录到流文件.以后运行就不需要再扫描了.
不过将微信的路径设置到BAT里更快不是吗?
作者: love303929545    时间: 2018-11-2 13:22

回复 2# yhcfsr


    快是快,但是每个人安装电脑路径不一样啊,别人找我要这个我直接就发给别人了,很多同事压根儿都不知道什么路径啥的。。。
作者: love303929545    时间: 2018-11-2 13:23

回复 2# yhcfsr


    请问你说的那个怎么写代码呢?
作者: Batcher    时间: 2018-11-2 13:39

参考:
http://bbs.bathome.net/thread-3465-1-1.html
作者: yhcfsr    时间: 2018-11-2 15:27

回复 5# Batcher


参考老大提供的帖子,写了个,题主做下参考.
  1. @echo off
  2. rem 此脚本实现微信多开功能
  3. set "FileName=wechat.exe"
  4. set "script_path=%~f0"
  5. (set/p wechat=<"%script_path%:WX") 2>nul
  6. if "%wechat%" equ "" (echo 首次运行,正在扫描微信...) else goto :start_wechat
  7. (for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  8.     if exist %%a:\ (
  9.         pushd %%a:\
  10.         for /r %%b in (*%FileName%) do (
  11.             if /i "%%~nxb" equ "%FileName%" (
  12.                 echo,%%b|findstr /v "%tmp%"&&(
  13. echo %%b>"%script_path%:WX"
  14. goto :start_wechat
  15. )
  16.             )
  17.         )
  18.         popd
  19.     )
  20. ))>nul 2>nul
  21. echo;对不起,没有找到微信
  22. pause&exit
  23. :start_wechat
  24. set/p wechat=<"%script_path%:WX"
  25. set /p "num=亲要开几个微信:"
  26. for /l %%a in (1,1,%num%) do start "" "%wechat%"
复制代码

作者: hnfeng    时间: 2018-11-2 15:43

扫硬盘? 运行一下就扫一遍?扫到什么时候啊

直接读注册表里面 微信 的位置
作者: whiter    时间: 2018-11-2 16:18

直接修改电脑的环境变量啊,电脑属性--高级--环境变量设置
或者 reg add命令添加注册表 位置应该是:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
应该可以,具体实现我没试
作者: yhcfsr    时间: 2018-11-2 16:33

本帖最后由 yhcfsr 于 2018-11-2 17:06 编辑

回复 7# hnfeng


  亲测,装在C盘扫描2秒.E盘约6秒.
只会在首次运行时扫描一次.

读注册表的方法很好,我试试完善下.非常感谢指点^V^ .
  1. @echo off
  2. rem 此脚本实现微信多开功能.
  3. for /f "tokens=2*" %%a in ('reg query "HKEY_CURRENT_USER\Software\Tencent\WeChat" /v InstallPath 2^>nul') do set "wechat=%%b"
  4. if not defined wechat echo;没有找到微信&pause&exit
  5. set /p "num=亲要开几个微信:"
  6. for /l %%a in (1,1,%num%) do start "" "%wechat%\WeChat.exe"
复制代码

作者: love303929545    时间: 2018-11-2 16:56

回复 6# yhcfsr


    大佬,这个出现丢失ssleay32.dll和wechatwin.dll文件缺失怎么解决呢?直接打开微信有没有出现这个
作者: hnfeng    时间: 2018-11-2 17:04

  1. C:\Windows\System32>for /f "tokens=1,2*" %a in ('reg query HKCU\Software\Tencent\WeChat /v InstallPath ^| find /i "REG_SZ" ') do set WeChatPath=%c
  2. C:\Windows\System32>set WeChatPath=C:\Program Files (x86)\Tencent\WeChat
复制代码

作者: yhcfsr    时间: 2018-11-2 17:12

回复 10# love303929545

先试试9楼的代码吧.
至于6楼代码出问题,需要看调试信息.可能是获取路径出了问题.
我测试时也发现临时目录也会出现WECHAT.exe,所以我排除了临时目录(可能系统不一样,临时目录的环境变量不太一样,我应该用Temp不应该用tmp)
作者: Batcher    时间: 2018-11-2 17:21

参考:自动获取QQ路径的几种方法:读注册表、全盘搜索、获取进程信息等
http://bbs.bathome.net/thread-4193-1-1.html
作者: love303929545    时间: 2018-11-4 13:40

回复 12# yhcfsr


    多谢大佬。9楼完美解决了。
作者: 刚刚刚刚好    时间: 2019-2-3 17:42

start D:\微信\WeChat\WeChat.exe
start D:\微信\WeChat\WeChat.exe
对于能查看路径的直接改后面路径
再说了 右键微信的快捷方式 属性 就能看到微信路径 直接复制 多省事
作者: Batcher    时间: 2019-2-6 20:25

回复 15# 刚刚刚刚好


    也许楼主要管几百几千个电脑,安装路径不一样。
作者: miqilaosu    时间: 2019-5-7 10:06

回复 9# yhcfsr


    大佬这个很好用,不过想问下,FOR里面的都是依次执行,一般开3~4个微信已经启动了, 有没有办法让这些命令同一时间运行
作者: 小渣飞    时间: 2019-10-11 11:09     标题: 贴心版

本帖最后由 小渣飞 于 2019-10-12 12:46 编辑

@echo off&color 0f&title 微信多开。
:main
echo.&echo.&echo 执行中...
tasklist | find /i "WeChat.exe">nul 2>nul&&(
echo.&echo.&echo 异常:已经有一个或多个微信正在运行,请关闭并稍后按任意键重试。
pause>nul
goto:main
)
if exist %tmp%\WeChat_int.ini (
set /p file=<"%tmp%\WeChat_int.ini"&&goto:_found
)
echo.&echo.&echo 正在你的系统中查找微信 (WeChat.exe) 首次运行可能需要较长时间,请稍后。
for %%a in (A B C D E F G H I J K L M N) do (
if exist %%a:\ (
cd /d %%a:\
for /f "delims=" %%b in ('dir /s /a-d /b WeChat.exe 2^>nul') do (
if exist "%%b" (
echo %%b>%tmp%\WeChat_int.ini||goto:error
set file=%%b
if "%fix%"=="y" goto:eof
goto:_found
))))
if not defined file (echo.&echo.&echo 异常:你的系统好像没有安装微信,无法继续,任意键退出。&pause>nul&exit)
:_found
mode con cols=80 lines=20
Taskkill /f /im WeChat.exe >nul 2>nul
set "num="
set fix=n
cls
echo.&echo.
set /p num=微信路径已找到,在这里输入需要打开多少个微信:
if "%num%"=="/help" call:help&goto:_found
echo %num%|findstr /v "[^0-9]"||(
echo.&echo.
echo 异常:输入不能为空且只能为数字,如需帮助请输入 /help 任意键继续。
pause>nul
goto:_found
)
if %num% geq 5 (
echo.&echo.&echo 打开过多的微信可能没有效果且造成系统卡顿甚至死机,是否继续?
call:again
)
pen
for /l %%i in (1,1,%num%) do (start "" "%file%"2>nul||goto:error)
echo.&echo.&echo 已经成功打开 %num% 个微信,任意键返回。&set "num="&pause>nul&goto:main
:again
echo.&echo.
set /p stop=y/n ?
if "%stop%"=="y" set "stop="&goto:open
if "%stop%"=="n" set "stop="&goto:_found
set "stop="&goto:again

:error
mode con cols=80 lines=35&title 文件修复。
cls
echo.&echo.&echo                               操作异常,正在修复。
echo Test>%systemroot%\system32\Test_usa||(
echo.&echo.&echo 正在调用管理员权限,请允许。
call:usa
)
del /f /s /q %systemroot%\system32\Test_usa >nul 2>nul
echo.&echo.
echo %time% --- 尝试修复配置文件。
echo Y|cacls "%tmp%\WeChat_int.ini" /p everyone:F >nul 2>nul||(
echo.&echo.&echo %time% --- 异常:修复配置文件失败,任意键退出。&pause>nul&exit
)
echo.&echo.&echo %time% --- 配置文件修复成功!
echo.&echo.
echo %time% --- 尝试更新配置文件。
del /f /s /q %tmp%\WeChat_int.ini >nul 2>nul||(
echo.&echo.&echo %time% --- 异常:更新配置文件失败,任意键退出。&pause>nul&exit
)
echo.&echo.&echo %time% --- 配置文件更新成功!
echo.&echo.
echo %time% --- 尝试重新获取文件路径。
set fix=y
set "file="
call:main
set /p file=<"%tmp%\WeChat_int.ini"
if not defined file echo.&echo.&echo %time% --- 尝试重新获取文件路径失败,任意键退出。&pause>nul&exit
echo.&echo.&echo %time% --- 路径获取成功!
echo.&echo.
echo %time% --- 正在检查权限问题。
echo Y|cacls "%file%" /p everyone:F >nul 2>nul||(
echo.&echo.&echo %time% --- 授权失败,任意键退出。&pause>nul&exit
)
echo.&echo.
echo %time% --- 文件修复成功,将在5秒后返回。
ping 127.0.0.1 -n 6 >nul
title 微信多开。
goto:main
:usa
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
:help
exit




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2