标题: [文件操作] 批处理msg命令分行显示怎么显示不了? [打印本页]
作者: shuaige100 时间: 2010-7-2 13:02 标题: 批处理msg命令分行显示怎么显示不了?
本帖最后由 pcl_test 于 2017-4-17 12:44 编辑
-
- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('mode ^| find /i "COM"') do (echo %%i)|msg %username% /time:5
复制代码
这个代码为什么把%%I分成两次来传输给msg?
能一次传输完吗?
你可以把这个命令复制在自己的电脑先试试看
[ 本帖最后由 shuaige100 于 2010-7-4 12:18 编辑 ]
作者: broly 时间: 2010-7-2 15:25
你是不是要这个?
- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('mode') do (set /a m+=1 & set m!m!=%%i)
- (echo %m3:~7%
- echo %m4:~7%
- echo %m5:~7%
- echo %m6:~7%)|msg %username% /time:5
复制代码
作者: shuaige100 时间: 2010-7-2 16:14 标题: 回复 2楼 的帖子
呵呵终于明白了一点,它是不能用find来用的吗?
作者: broly 时间: 2010-7-2 16:34 标题: 回复 3楼 的帖子
说明一下,你的P写错了,是CON,不是COM。。。。也可以用find- @echo off & setlocal enabledelayedexpansion
- for /f "usebackq skip=2 delims=" %%i in (`"mode|find /i /v "CON""`) do (set /a m+=1 & set m!m!=%%i)
- (echo %m1:~7%
- echo %m2:~7%
- echo %m3:~7%
- echo %m4:~7%)|msg %username% /time:5
复制代码
[ 本帖最后由 broly 于 2010-7-2 16:43 编辑 ]
作者: shuaige100 时间: 2010-7-2 17:00 标题: 回复 4楼 的帖子
是com啊mode | find /i "COM"没有出错,而con就出错了
作者: broly 时间: 2010-7-2 17:10 标题: 回复 5楼 的帖子
哦。不管了。解决了就可以
作者: shuaige100 时间: 2010-7-2 17:30 标题: 回复 6楼 的帖子
还是用find /i的方便啊,大侠我就怀疑('mode | find /i "COM"')这里面的修饰符错了才导致出错的
作者: sgaizxt001 时间: 2010-7-2 21:00
('mode | find /i "COM"')这里需要写成- ('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 编辑 ]
作者: shuaige100 时间: 2010-7-3 11:55 标题: 回复 8楼 的帖子
改了你这个也显示不了东西——你可以在自己电脑试试
作者: Batcher 时间: 2010-7-4 11:40
批处理for语句中的管道符为何要用尖号^进行转义?
http://bbs.bathome.net/viewthread.php?tid=1290&page=2#pid6306
作者: shuaige100 时间: 2010-7-4 11:48 标题: 回复 10楼 的帖子
——看了好复杂啊,管理员能列一下代码吗?
作者: Batcher 时间: 2010-7-4 12:21
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('mode ^| find /i "COM"') do (
- set /a m+=1
- set m!m!=%%i
- )
- (echo %m1:~7%
- echo %m2:~7%)|msg %username% /time:5
复制代码
作者: shuaige100 时间: 2010-7-4 21:54 标题: 回复 12楼 的帖子
还是打开闪一下就没了,看来msg对这个^很感冒,我1楼的就没出错,不过变的不方便了。
作者: Batcher 时间: 2010-7-5 10:28 标题: 回复 13楼 的帖子
你用的什么操作系统?
我在XP SP3和Vista SP2里面测试没有问题。
作者: shuaige100 时间: 2010-7-5 11:49 标题: 回复 14楼 的帖子
XP SP2 真郁闷,我这个该怎么解决好呢?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |