Board logo

标题: [其他] [求助] bat纯批处理进程通信&局域网通信 [打印本页]

作者: 2198114498    时间: 2022-6-11 20:59     标题: [求助] bat纯批处理进程通信&局域网通信

本帖最后由 2198114498 于 2022-6-11 23:07 编辑

需要两个批处理窗口 交互数据,自己原来是用读写临时文件的方法。
最近接触到注册表,测试了下,读写文件比注册表快很多。

搜索学习的过程,又发现了管道通信的方法,
  1. @echo off
  2. if "%1"=="" title 0&%0 1|%0 2
  3. if "%1"=="1" title 1&goto loop
  4. if "%1"=="2" title 2&goto loop2
  5. :loop
  6. <nul set /p=loop
  7. ping 127.1 -n 2 >nul
  8. <nul set /p=loop1
  9. ping 127.1 -n 2 >nul
  10. echo 12345
  11. ping 127.1 -n 2 >nul
  12. goto loop
  13. :loop2
  14. set /p input=
  15. if "%input%"=="loop" (
  16. <nul set /p= loop2
  17. ) else (
  18. <nul set /p= loop3
  19. )
  20. echo=
  21. goto loop2
复制代码
已基本搞明白交互过程,但是窗口1自己无法输出,只能发数据到窗口2处理后发回窗口1,
而窗口2却是隐藏的,又无法输入,希望有人能教我这种方法有办法显示双窗口可输入交互的吗?

同时又搜到B站的同名视频,视频介绍是:
纯批处理本机多进程通信或者局域网通信,无第三方,无临时文件,非共享文件,不过目前只支持英文

看视频应该是我需要的,但是主播没有分享文件,也搜不到类似的,所以来求助,
这两个方法看到了就想学到,希望哪位大神指点一下,先谢了!
作者: LJY4.0    时间: 2022-6-11 21:33

本帖最后由 LJY4.0 于 2022-6-12 07:47 编辑

进程通讯(文件法):
窗口1:
@echo off
del %temp%\ttt.tc
del %temp%\ccc.tc
for %%a in (
echo XXX
echo XXX
)>%temp%\ttt.tc
:ec
if not exist %temp%\ccc.tc goto ec
type %temp%\ccc.tc
pause>nul
exit

窗口2:
@echo off
:win
if not exist %temp%\ttt.tc goto win
for /f "delims=" %%a in ('type %temp%\ttt.tc') do (
set str=%%a
(处理代码(发送内容:变量str))>%temp%\ccc.tc
)

注意   (处理代码(发送内容:变量str))>%temp%\ccc.tc最外的括号别删


参数法:
1:
@echo off
if "%~1"=="" goto start
echo %~1
pause>nul
exit
:start
start 窗口2路径 发送内容
exit

2:
@echo off
if "%~1"=="" exit
set str=%~1
for /f "delmis=" %%a in ('^(处理代码(发送内容:变量str)^)') do (
start 窗口1路径 %%a
)
exit


注意:for /f "delmis=" %%a in (^(处理代码(发送内容:变量str)^)) do (    只可删(发送内容:变量str)这段注释
一行用参数法
多行用文件法
如果你把处理代码发过来的话,我明天帮你整理好(最好发过来)
作者: 2198114498    时间: 2022-6-11 23:06

回复 2# LJY4.0


    十分感谢,不过两种方法我也常用,但看代码细节仍能从中受益!
我的问题是:
1、通过管道交互的方法,我只能显示窗口1并输入,且只能显示窗口2输出的数据,而窗口2不能显示和输入!
2、我在B站看到了一个视频,似乎解决了问题1,但没有分享,看介绍也不确定是何方法,所以来求助!

我刚学到管道交互的方法,只有测试代码,没有具体应用,想得到B站那个视频的效果,我现在贴出测试代码!
作者: hlzj88    时间: 2022-6-12 01:18

如果只是单纯想解决局域网内网通信,可用软件 内网通,免费,可传文件,可升级,可远控。
作者: LJY4.0    时间: 2022-6-12 08:22

回复 3# 2198114498
进程还可以,域网不行
我把视频看了看,别的可以,无文件不行
要代码的话发给你
作者: 2198114498    时间: 2022-6-12 20:19

回复 5# LJY4.0


    谢谢,我也只会用文件,想学无第三方、无文件的。
作者: 2198114498    时间: 2022-6-12 20:21

回复 4# hlzj88


    谢谢,我是发现有人可以纯批处理、无第三方、无文件实现两个批处理交互,想了解学下。
作者: flashercs    时间: 2022-6-13 19:07

你说的视频中的文件不确定安全性,就发私信给你自己测试吧.
作者: 2198114498    时间: 2022-6-13 21:51

回复 8# flashercs


    谢谢,我没有测试,视频介绍说的没有第三方,但私信文件里不只有额外程序,看代码还会下载安装什么,
批处理的注释似乎使用了嵌入exe代码,即使是安全的,也没意义了!




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