关于Windows命令提示符中的 xxx > nul 2 > nul
写博客就像写作文,是要素材哒~
大家在运行程序的时候,有时候需要让他输出到文件(控制台输出),又不能改程序(别人给你的编译好的程序),就可以利用重定向>符号:
rem aaa.exe是要运行的程序的名称,op.lsktxt是要输出到的文件(本行开头的rem是DOS下的注释):
aaa.exe > op.lsktxt
如果要输出到设备,也可以这样哦!把要输出到的文件名改成设备名就好啦!
那如果不要输出呢?
rem nul是空设备,输出到空设备就相当于没有输出:
aaa.exe > nul
但是如果运行出错(不是崩溃,是用cerr输出),就还是会在控制台上输出:
代码:
#include <iostream>using namespace std;int main()
{printf("printf message");cerr << "error message" << endl;return 0;
}
//编译成err_msg_out.exe
控制台代码:
err_msg_out.exe > nul
输出:
error message
如果我们要屏蔽错误消息(和普通输出),有很多人都是这样做的:
xxx.exe > nul 2> nul
却没有说为什么,我也是看了C++ Primer Plus第17章才知道(粗略地提到了):
如果重定向没有起作用,则选定的消息都将被现实在屏幕上。然而,如果程序输出被重定向到一个文件,则第一条消息(如果被选定)将被发送到文件中,而第二条消息(如果被选定)将被发送到屏幕。顺便说一句,有些操作系统也允许对标准错误进行重定向。例如,在UNIX和Linux中,运算符2>重定向标准错误。
书中说的代码是:
if(success)std::cout << "Here come the goodies!\n";
else
{std::cerr << "Something horrible has happened.\n";exit(1);
}
书中说了有UNIX和Linux,其实Windows也可以,并且重定向可以连续使用,这就是为什么xxx.exe > nul 2> nul
会起作用了。
还有,用没有的命令或没有的程序输出的也是错误消息,如:
dir > nul
就没有输出,而
diir > nul
就输出“'diir' 不是内部或外部命令,也不是可运行的程序
或批处理文件。”,但
diir > nul 2> nul
就没有输出了。
注意!!2> nul中'>'和'nul'之间的空格不必要,但是'2'和'>'之间不能有空格!
关于Windows命令提示符中的 xxx > nul 2 > nul相关推荐
- Windows命令提示符中的别名
本文翻译自:Aliases in Windows command prompt I have added notepad++.exe to my Path in Environment variabl ...
- 在命令提示符输出c语言代码_您可以在Windows命令提示符中更改输出缓冲区的大小吗?...
在命令提示符输出c语言代码 If you are someone who loves using the Windows Command Prompt, you may have found your ...
- windows命令提示符_如何在Windows命令提示符中使用命令历史记录
windows命令提示符 The Windows Command Prompt has a built-in history feature, allowing you to quickly view ...
- c语言 输出定向到文件 命令提示符窗口也能看见,关于cmd:显示Windows命令提示符输出并将其重定向到文件...
如何在Windows命令提示符下运行命令行应用程序并同时显示输出并重定向到文件? 例如,如果我要运行命令dir > test.txt,则会将输出重定向到名为test.txt的文件而不显示结果. ...
- 【Windows】中DOMAIN域
网上扒到整理的,如有错误请留言指出,谢谢. 前导 Windows命令提示符中,命令的用法后面常见有一个**[/DOMAIN]**,例如: D:\dos>net user /? 此命令的语法是:N ...
- Microsoft Windows 环境中NLS_LANG的正确设置 (文档 ID 1577370.1)
Microsoft Windows 环境中NLS_LANG的正确设置 (文档 ID 1577370.1) 适用于: Oracle Database - Enterprise Edition - 版本 ...
- 如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样)
如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样) python标准库中的subprocess可以解决这个问题. from subprocess ...
- 在 Windows 10 中通过命令提示符或控制面板启用 Telnet
在 Windows 10/8/7 上,默认情况下禁用Telnet 客户端和服务器.如果要启用它,可以使用命令提示符或通过控制面板来实现.供您参考,Telnet(tel etype net work 的 ...
- 如何在命令提示符中备份Windows设备驱动程序
如果清理安装Windows,则需要为系统中的每个设备安装驱动程序.制造商可能不再提供其中一些设备驱动程序,或者你放错了制造商的驱动程序安装文件备份. 在进行干净安装之前备份设备驱动程序是个好主意,这样 ...
最新文章
- 洛谷 [P1282] 多米诺骨牌
- 大学物理规范作业25稳恒磁场_山东一地出台规定:严禁家长代批作业,违反规定将被一票否决...
- Android使用WebView加载网页
- 第二课--字符串类型及操作
- Java SE 8新功能介绍:Lambda的遍历,过滤,处理集合和方法增强
- Apache Commons Lang StringUtils
- php中用js自定义弹窗,用js实现的自定义的对话框的实现代码_javascript技巧
- 幼师学计算机心得体会怎么写,幼儿教师学习心得
- 机器学习算法_无监督机器学习算法:主成分分析
- 深度学习 --- 卷积神经网络CNN(LeNet-5网络学习算法详解)
- linux下keepalived+nginx的负载均衡搭建
- python3.7.2安装教程不成功_centos 7.2更新python 3.7、3.5.2的过程及出错的解决方法
- 在ASP.NET应用程序中使用身份模拟(Impersonation)
- NDVI归一化差异植被指数
- 单页面动画 html5,9款惊艳的HTML5/CSS3动画应用赏析
- 给人工智能初学者看的5本入门书 | 附下载链接
- PSnbsp;07替换颜色
- 计算机休眠后无法唤醒出现蓝屏,电脑休眠后无法唤醒怎么办【解决方法】
- 《MyBatis 从入门到精通》
- mysq学习课堂笔记 第一天学习(值得收藏!)