写博客就像写作文,是要素材哒~


大家在运行程序的时候,有时候需要让他输出到文件(控制台输出),又不能改程序(别人给你的编译好的程序),就可以利用重定向>符号:

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相关推荐

  1. Windows命令提示符中的别名

    本文翻译自:Aliases in Windows command prompt I have added notepad++.exe to my Path in Environment variabl ...

  2. 在命令提示符输出c语言代码_您可以在Windows命令提示符中更改输出缓冲区的大小吗?...

    在命令提示符输出c语言代码 If you are someone who loves using the Windows Command Prompt, you may have found your ...

  3. windows命令提示符_如何在Windows命令提示符中使用命令历史记录

    windows命令提示符 The Windows Command Prompt has a built-in history feature, allowing you to quickly view ...

  4. c语言 输出定向到文件 命令提示符窗口也能看见,关于cmd:显示Windows命令提示符输出并将其重定向到文件...

    如何在Windows命令提示符下运行命令行应用程序并同时显示输出并重定向到文件? 例如,如果我要运行命令dir > test.txt,则会将输出重定向到名为test.txt的文件而不显示结果. ...

  5. 【Windows】中DOMAIN域

    网上扒到整理的,如有错误请留言指出,谢谢. 前导 Windows命令提示符中,命令的用法后面常见有一个**[/DOMAIN]**,例如: D:\dos>net user /? 此命令的语法是:N ...

  6. Microsoft Windows 环境中NLS_LANG的正确设置 (文档 ID 1577370.1)

    Microsoft Windows 环境中NLS_LANG的正确设置 (文档 ID 1577370.1) 适用于: Oracle Database - Enterprise Edition - 版本 ...

  7. 如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样)

    如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样) python标准库中的subprocess可以解决这个问题. from subprocess ...

  8. 在 Windows 10 中通过命令提示符或控制面板启用 Telnet

    在 Windows 10/8/7 上,默认情况下禁用Telnet 客户端和服务器.如果要启用它,可以使用命令提示符或通过控制面板来实现.供您参考,Telnet(tel etype net work 的 ...

  9. 如何在命令提示符中备份Windows设备驱动程序

    如果清理安装Windows,则需要为系统中的每个设备安装驱动程序.制造商可能不再提供其中一些设备驱动程序,或者你放错了制造商的驱动程序安装文件备份. 在进行干净安装之前备份设备驱动程序是个好主意,这样 ...

最新文章

  1. 洛谷 [P1282] 多米诺骨牌
  2. 大学物理规范作业25稳恒磁场_山东一地出台规定:严禁家长代批作业,违反规定将被一票否决...
  3. Android使用WebView加载网页
  4. 第二课--字符串类型及操作
  5. Java SE 8新功能介绍:Lambda的遍历,过滤,处理集合和方法增强
  6. Apache Commons Lang StringUtils
  7. php中用js自定义弹窗,用js实现的自定义的对话框的实现代码_javascript技巧
  8. 幼师学计算机心得体会怎么写,幼儿教师学习心得
  9. 机器学习算法_无监督机器学习算法:主成分分析
  10. 深度学习 --- 卷积神经网络CNN(LeNet-5网络学习算法详解)
  11. linux下keepalived+nginx的负载均衡搭建
  12. python3.7.2安装教程不成功_centos 7.2更新python 3.7、3.5.2的过程及出错的解决方法
  13. 在ASP.NET应用程序中使用身份模拟(Impersonation)
  14. NDVI归一化差异植被指数
  15. 单页面动画 html5,9款惊艳的HTML5/CSS3动画应用赏析
  16. 给人工智能初学者看的5本入门书 | 附下载链接
  17. PSnbsp;07替换颜色
  18. 计算机休眠后无法唤醒出现蓝屏,电脑休眠后无法唤醒怎么办【解决方法】
  19. 《MyBatis 从入门到精通》
  20. mysq学习课堂笔记 第一天学习(值得收藏!)

热门文章

  1. KVM-1、Linux 操作系统及虚拟化
  2. 浙江大学PAT_甲级_1032. Sharing (25)
  3. 511遇见易语言大漠脚本辅助从入门到提高
  4. 机器学习实战——K均值
  5. 合工大计算机调剂到经济学,合肥工业大学金砖复试调剂经验
  6. HDU 5148 Cities 树形DP(背包)
  7. visio中直线交叉处消除跨线的方法
  8. mysql 初始化数据库报错
  9. 【快速上手教程1】开源编队无人机-开机测试
  10. Python模块学习 - openpyxl - 处理 Excel 电子表格