中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【难】不生成临时文件,让两个cmd“对话”
« [1] [2] »
作者:
标题: 【难】不生成临时文件,让两个cmd“对话” 上一主题 | 下一主题
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 16 楼』:  

貌似要开启服务才行



综合型编程论坛

我的作品索引
  
2008-12-28 14:39
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 17 楼』:  Re 15楼

如果人家本来有些很重要的计划任务在运行,你这样不管三七二十一全都给删除了,不太好吧。



2008-12-28 20:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『第 18 楼』:  

貌似能改进吧

但是局限性就在于要开启服务



C:\
C:\Del BC
2008-12-28 22:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 19 楼』:  

首先得确定这两个CMD的关系,是并行进程,还是继承进程
继承关系就不用再说了,方法很多,并行的,楼主也讲了,可以通过全局环境变量来传递,这个其实是可行的,因为变量更改是在另一个CMD进程中提交的,所以在当前CMD进程中并没有直接刷新(通常是赋值才会刷新),也是一个变量扩展延时的问题,在试验时可以使用call set 本地变量=全局变量 来获取实时更新



49206C6F766520796F752067757973 54656C3A3133383238343036373837
2008-12-30 06:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 20 楼』:  已经改进

batch1
:batch1
@echo off
title batch1
start batch2.bat
for %%a in (在不 好像没人 Exit) do (
ping -n 2 127.1>nul
at %time:~0,-3% ImBatch1 %%a >nul 2>nul
)
batch2
@echo off
(title batch2)&(mode con cols=20 lines=10)
:batch2
ping -n 1 127.1>nul
for /f "tokens=1,5*" %%a in ('at ^|find " ImBatch1 "') do (set "n=%%a" &set "info=%%b")
if /i "%info%"=="exit" (at %n% /del &exit)
::如果%n%非空,说明找到了ImBatch1发来的信息.
if not "%n%"=="" (
   echo,%info%
   at %n% /del
   set "info="
   set "n="
)
goto :batch2
[ Last edited by 523066680 on 2009-1-1 at 11:09 ]



综合型编程论坛

我的作品索引
  
2008-12-31 18:01
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 21 楼』:  试了好久,找到一个好方法

::可以传递72个字/次,不区分中英文

;main.bat
@echo off
::置唯一标题
title benton
::取指定程序的PID,保存备用
for /f "tokens=2" %%a in ('TASKLIST /FI "WINDOWTITLE eq benton*" /fo "table" /nh') do set PID=%%a


start /b bbba.bat

:lp
title %date% %time:~0,-3%
ping 127.1 -n 2 >nul

::根据保存的PID取标题信息
for /f "tokens=9*" %%a in ('TASKLIST /FI "pid eq %PID%" /v /nh') do set mesg=%%b
if /i not "%mesg:~0,4%"=="quit" goto :lp
echo.正常退出
goto :eof

;bbba.bat
echo.动态标题时种演示
pause
set 变量=quit

::送交换信息
title %变量%
goto :eof

   此帖被 +30 点积分         点击查看详情   
评分人:【 moniuming 分数: +15  时间:2009-3-1 06:11
评分人:【 523066680 分数: +15  时间:2009-3-3 05:36




精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-3-1 03:36
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 22 楼』:  

顶贴  顺便加分



综合型编程论坛

我的作品索引
  
2009-3-3 05:36
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
spy616
新手上路





积分 10
发帖 7
注册 2009-3-1
状态 离线
『第 23 楼』:  

一堆强人...

2009-3-3 11:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: