Board logo

标题: [文件操作] 上一命令的输出作下一命令的输入时,怎么让屏幕不显示/屏蔽上一命令的输出? [打印本页]

作者: xinfeng    时间: 2016-9-29 15:06     标题: 上一命令的输出作下一命令的输入时,怎么让屏幕不显示/屏蔽上一命令的输出?

本帖最后由 pcl_test 于 2016-9-29 22:57 编辑
  1. @echo off
  2. :on
  3. attrib a.txt|findstr "A"&&copy a.txt b.txt&attrib -a a.txt
  4. ping 127.1 -n 3 >nul
  5. goto on
  6. pause
复制代码
运行这段代码,会在窗口显示:
A            D:\a.txt
        1 file(s) copied.
现在我想让它不显示第一行,只显示'1 file(s) copied.' 应该怎么做?
作者: xinfeng    时间: 2016-9-29 20:39

版主大人威武极了. 请问这个问题怎么搜关键字?
作者: Batcher    时间: 2016-9-29 22:05

attrib a.txt|findstr "A" >nul && copy a.txt b.txt&attrib -a a.txt
作者: pcl_test    时间: 2016-9-29 22:56

回复 2# xinfeng

屏蔽
作者: xinfeng    时间: 2016-9-30 08:26

回复 3# Batcher


   果然好使. 但是不理解, 之前的想法是
  1. attrib a.txt>nul|findstr "A"&&copy a.txt b.txt&attrib -a a.txt
复制代码
. 不过不能用.
A            D:\a.txt 这一行是attrib这一命令生成的输出,为何'>nul' 要加到findstr后面?
作者: Batcher    时间: 2016-10-1 11:10

回复 5# xinfeng


attrib a.txt 的结果通过管道传递给后面的 findstr 命令,符合 "A" 这个条件的行被输出到屏幕。




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