找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 33802|回复: 14

[文件操作] 批处理msg命令分行显示怎么显示不了?

[复制链接]
发表于 2010-7-2 13:02:53 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2017-4-17 12:44 编辑

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('mode ^| find /i "COM"') do (echo %%i)|msg %username% /time:5
复制代码
这个代码为什么把%%I分成两次来传输给msg?
能一次传输完吗?
你可以把这个命令复制在自己的电脑先试试看

[ 本帖最后由 shuaige100 于 2010-7-4 12:18 编辑 ]
发表于 2010-7-2 15:25:58 | 显示全部楼层
你是不是要这个?


  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('mode') do (set /a m+=1 & set m!m!=%%i)
  3. (echo %m3:~7%
  4. echo %m4:~7%
  5. echo %m5:~7%
  6. echo %m6:~7%)|msg %username% /time:5
复制代码
 楼主| 发表于 2010-7-2 16:14:24 | 显示全部楼层

回复 2楼 的帖子

呵呵终于明白了一点,它是不能用find来用的吗?
发表于 2010-7-2 16:34:29 | 显示全部楼层

回复 3楼 的帖子

说明一下,你的P写错了,是CON,不是COM。。。。也可以用find
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "usebackq skip=2 delims=" %%i in (`"mode|find /i /v "CON""`) do (set /a m+=1 & set m!m!=%%i)
  3. (echo %m1:~7%
  4. echo %m2:~7%
  5. echo %m3:~7%
  6. echo %m4:~7%)|msg %username% /time:5
复制代码

[ 本帖最后由 broly 于 2010-7-2 16:43 编辑 ]
 楼主| 发表于 2010-7-2 17:00:29 | 显示全部楼层

回复 4楼 的帖子

是com啊mode | find /i "COM"没有出错,而con就出错了
发表于 2010-7-2 17:10:45 | 显示全部楼层

回复 5楼 的帖子

哦。不管了。解决了就可以
 楼主| 发表于 2010-7-2 17:30:43 | 显示全部楼层

回复 6楼 的帖子

还是用find /i的方便啊,大侠我就怀疑('mode | find /i "COM"')这里面的修饰符错了才导致出错的
发表于 2010-7-2 21:00:31 | 显示全部楼层
('mode | find /i "COM"')这里需要写成
  1. ('mode ^| find /i "COM"')
复制代码

意思就是把这个管道符转义成只对括号里的前一个命令起作用,把mode的输出结果给find查询,括号外的不管
for /f "delims=" %%i in ('mode | find /i "COM"') do (set /a m+=1 & set m!m!=%%i)
如果是这样写的话,意思就是把for /f "delims=" %%i in ('mode 的结果传递给后面,所以肯定出错

[ 本帖最后由 sgaizxt001 于 2010-7-2 21:02 编辑 ]
 楼主| 发表于 2010-7-3 11:55:17 | 显示全部楼层

回复 8楼 的帖子

改了你这个也显示不了东西——你可以在自己电脑试试
发表于 2010-7-4 11:40:43 | 显示全部楼层
批处理for语句中的管道符为何要用尖号^进行转义?
http://bbs.bathome.net/viewthread.php?tid=1290&page=2#pid6306
 楼主| 发表于 2010-7-4 11:48:07 | 显示全部楼层

回复 10楼 的帖子

——看了好复杂啊,管理员能列一下代码吗?
发表于 2010-7-4 12:21:40 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('mode ^| find /i "COM"') do (
  4.     set /a m+=1
  5.     set m!m!=%%i
  6. )
  7. (echo %m1:~7%
  8. echo %m2:~7%)|msg %username% /time:5
复制代码
 楼主| 发表于 2010-7-4 21:54:37 | 显示全部楼层

回复 12楼 的帖子

还是打开闪一下就没了,看来msg对这个^很感冒,我1楼的就没出错,不过变的不方便了。
发表于 2010-7-5 10:28:34 | 显示全部楼层

回复 13楼 的帖子

你用的什么操作系统?
我在XP SP3和Vista SP2里面测试没有问题。
 楼主| 发表于 2010-7-5 11:49:42 | 显示全部楼层

回复 14楼 的帖子

XP SP2 真郁闷,我这个该怎么解决好呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 08:46 , Processed in 0.020335 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表