关于cmd命令的重定向输出

转自jw72jw

命令通过%>的形式来定向输出,%表示文件描述符:
- 1为标准输出stdout, 1>简写为>
- 2为标准错误stderr。

&需要直接与重定向符号结合使用。
比如:2>&1表示stderr输出到stdout
应用实例:
- 将结果输出到result.txt
net stop myservices >>result 2>&1
- 隐藏程序输出结果
net stop myservices >nul 2>nul

下表列出了可用于重定向输入和输出数据流的操作符。

重定向操作符描述
>将命令输出写入到文件或设备(如打印机)。
<从文件而不是从键盘或句柄读入命令输入。
>>将命令输出添加到文件末尾而不删除文件中已有的信息。
>&将一个句柄的输出写入到另一个句柄的输入中。
<&从一个句柄读取输入并将其写入到另一个句柄输出中。
|从一个命令中读取输出并将其写入另一个命令的输入中。也称作管道。

- 重定向输入 (<)
要通过键盘将输入重定向到文件或设备,请使用 < 操作符。例如,要从 File.txt 获取 sort 命令的输入,请键入:

sort<file.txt

file.txt 的内容将以字母顺序列表的方式显示在命令提示符窗口中。
- 重定向输出 (>)
要将输出从命令提示符窗口重定向到文件或设备,请使用 > 操作符。可以在许多命令中使用该操作符。例如,要将 dir 输出重定向到 Dirlist.txt,请键入:

dir>dirlist.txt
  • 复制句柄
    重定向操作符 & 可以将输出或输入从一个指定句柄复制到另一个指定的句柄。例如,要将 dir 输出发送到 File.txt 并将错误输出发送到 File.txt,请键入:
dir>c:\file.txt 2>&1

复制句柄时,可以复制该句柄原状态的所有特性。
要将重定向输入操作符 (<) 与复制操作符 (&) 结合使用,指定的文件必须已经存在。
如果输入文件存在,Cmd.exe 将以只读方式打开该文件,然后将文件包含的字符作为输入发送到此命令(如同从键盘输入一样)。

要打开 File.txt,并在内容排序后将输出发送到命令提示符窗口(即 STDOUT),请键入: sort

ipconfig.exe>>output.log 2>&1

使用管道操作符 (|)
管道操作符 (|) 可以提取一个命令的输出(默认情况下是 STDOUT),然后将其定向到另一个命令的输入(默认情况下是 STDIN)中。
例如,使用下面的命令可以对目录进行分类:

dir | sort

在本例中,将同时启动两个命令,但随后 sort 命令会暂停,直到它接收到 dir 命令的输出为止。
sort 命令使用 dir 命令的输出作为输入,然后将输出发送到句柄 1(即 STDOUT)。

合并带重定向操作符的命令
通过合并带有其他命令和文件名的筛选器命令,可以创建自定义命令。例如,可以使用以下命令存储包含“LOG”字符串的文件名:

dir /b | find "log" loglist.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值