返回顶部
首页 > 资讯 > 精选 >cmd批处理nul的使用示例
  • 955
分享到

cmd批处理nul的使用示例

2023-06-08 13:06:41 955人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关cmd批处理nul的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。cmd批处理 nul 部分用法用法1:2>nul2>nul 是屏蔽操作失败显示的信息,如果成功依旧显

这篇文章给大家分享的是有关cmd批处理nul的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

cmd批处理 nul 部分用法

用法1:2>nul

2>nul 是屏蔽操作失败显示的信息,如果成功依旧显示。

如:在批处理文件所在路径下md(或者mkdir)创建名为test的文件夹,当此文件夹已经创建时会报错。使用2>nul 可屏蔽此提示

md test 2>nul

用法2:>nul (即1>nul)

>nul 是屏蔽操作成功显示的信息,但是出错还是会显示(即1>nul)

@符号是取消本行的输入显示

如:

例1:ping 一个IP地址。cmd中将首先显示,输入情况,c:\user\administrator\ ping 192.168.1.1 无论能不能ping通,界面一般会输出连续输出4行ping的情况。

@echo off
ping 192.168.1.1
pause

例2:在语句前加上@,不再显示输入情况。直接显示ping输出结果

@echo off
@ping 192.168.1.1
pause

例3:在语句末加上>nul,不再显示输出结果,由于添加了@,输入情况也不会显示。

@echo off
@ping192.168.1.1 >nul
pause

用法3:>nul 2>nul (即1>nul)

屏蔽所有输出语句显示,无论成功或失败界面均不再提示

关于"1>” "2>" "2>&1" 的具体意思

标准输入(standard input)的文件描述符是 0
标准输出(standard output)是 1
标准错误(standard error)是 2>和>>都是重定向输出(>是覆盖,>>是追加)

1> 指标准信息输出路径(也就是默认的输出方式)
2> 指错误信息输出路径
2>&1 指将标准信息输出路径指定为错误信息输出路径(也就是都输出在一起)

补充问题4<&0:

<和<<都是重定向输入
<0指标准输入路径
4<&0 指的是将文件描述符4指定为标准输入(实际可选4到9之间任意一个数字)

grep "standard"* > grep.out 2>&1

将包含"standard" 的行全部写入grep.out文件中,包括grep时发生错误的报错信息

del abc.txt>nul 2>nul

这个">nul 2>nul"可以屏蔽一切屏幕的输出可以这样理解:

假如执行一个命令,但是不想在屏幕里看到这个命令的执行情况,可以使用"[命令]>nul"就可以屏蔽命令在屏幕上的输出,但是有的命令执行会出错,即使用了">nul"也不能屏蔽命令产生的信息,所以就在后面加" 2>nul"这个,就是"[命令]>nul+空格+2>nul",这样,不管命令是否正确的运行,都不会在屏幕看到这个命令所产生的屏幕显示了。

用"dir"命令可以显示当前目录的文件及文件夹列表,这时如果用"dir>nul",就看不见dir命令执行的屏幕输出了,那么再键入"dirr"时会显示" 'dirr' 不是内部命令,也不是外部命令,也不是批处理文件。",这时如果用"dirr>nul"来屏蔽这个错误,因为依然会出现" 'dirr' 不是内部命令,也不是外部命令,也不是批处理文件。"这个错误提示,这时如果用"dirr>nul 2>nul"的话,就在屏幕上看不到上面的出错提示了

批处理中的****1>nul 2>nul是什么意思?

1>nul 意思是不显示命令运行的正确提示
2>nul 是不显示错误提示
一起就是 正确错误的都不显示
>是重定向符号
nul是空设备的意思
把提示输入到空设备就不显示了
重定向你可以理解为 输入到 的意思

实例:

@taskkill /im 1.exe /f /t >nul 2>&1

经常看到“>nul 2>nul”是什么意思?

功能就是不管前面的命令要显示什么信息都屏蔽掉,即不显示。

2>nul 简析

2>nul的2指错误输出句柄,2>nul表示将执行的错误结果输出到空设备nul,也就是不输出错误结果。

例如。弱智 2>nul 将不显示'弱智' 不是内部或外部命令,也不是可运行的程序或批处理文件。

就是说>nul 表示成功执行后不回显,2>nul 表示不成功执行后不回显
>nul 2>nul 表示不管命令执行成功与否都不回显

TASKKILL /F /IM a.exe >nul 2>&1讲解

把标准输出流重定向到nul,把标准错误流重定向到标准输出流。
输出到nul的内容会被直接丢弃,因此效果就是丢弃程序的一切输出。

2>&1表示把标准错误流重定向到标准输出流。

关于cmd命令的重定向输出 2>&1

mycommand >mylog.txt 2>&1 应该是最经典的用法了。

命令的结果可以通过“%>”的形式来定向输出,%表示文件描述符:1为标准输出stdout、2为标准错误stderr。系统默认%值是1,也就是“1>”,而1>可以简写为>,也就是默认为>。stdout的默认目标是终端,stderr的默认目标为也是终端。我们在批处理中执行: echo text >result.txt ,我们就可以在屏幕上会看到 echo text 1>result.txt ,即是这个道理。
其中&需要直接与重定向符号结合使用。

应用实例:

将结果输出到result.txt

net stop myservices >>result 2>&1

隐藏程序输出结果

net stop myservices >nul 2>nul

微软关于重定向的文章:使用命令重定向操作符

可以使用重定向操作符将命令输入和输出数据流从默认位置重定向到其他位置。输入或输出数据流的位置称为句柄。
下表将列出可用的句柄。

句柄 句柄的数字代号 描述
STDIN 0
键盘输入

STDOUT 1
输出到命令提示符窗口

STDERR 2
错误输出到命令提示符窗口

UNDEFINED 3-9
句柄由应用程序单独定义,它们是各个工具特有的

数字 0 到 9 代表前 10 个句柄。可以使用命令 Cmd.exe 运行程序,并对该程序前 10 个句柄中的任何一个句柄进行重定向。要指定要用的句柄,请在重定向操作符之前键入该句柄的数字。如果未定义句柄,则默认的 < 重定向输入操作符是 0,而默认的 > 重定向输出操作符是 1。键入 < 或 > 操作符之后,必须指定数据的读写位置。可以指定文件名或其他现有的句柄。
要指定重定向到现有句柄,请使用与 (&) 字符,后面接要重定向的句柄号(即 &句柄号)。例如,下面的命令可以将句柄 2(即 STDERR)重定向到句柄 1(即 STDOUT):

2>&1

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

重定向操作符 描述
> 将命令输出写入到文件或设备(如打印机),而不是命令提示符窗口或句柄。
< 从文件而不是从键盘或句柄读入命令输入。

>> 将命令输出添加到文件末尾而不删除文件中已有的信息。
>& 将一个句柄的输出写入到另一个句柄的输入中。
<& 从一个句柄读取输入并将其写入到另一个句柄输出中。
| 从一个命令中读取输出并将其写入另一个命令的输入中。也称作管道。

默认情况下,可以从键盘将命令输入(即 STDIN 句柄)发送到 Cmd.exe,然后由 Cmd.exe 将命令输出(即 STDOUT 句柄)发送到命令提示符窗口。

重定向输入 (<)

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

sort<file.txt

File.txt 的内容将以字母顺序列表的方式显示在命令提示符窗口中。

< 操作符可以打开具有只读访问权限的指定文件名。因此,不能在使用该操作符时向文件中写入信息。例如,如果以 <&2 启动程序,则所有试图读取句柄 0 的操作都将失败,因为句柄 2 最初是以只写访问方式打开的。

注意

0 是 < 重定向输入操作符的默认句柄。

重定向输出 (>)
几乎所有的命令都将输出发送到命令提示符窗口。即使将输出发送到驱动器或打印机的命令也会在命令提示符窗口显示消息和提示。

要将输出从命令提示符窗口重定向到文件或设备,请使用 > 操作符。可以在许多命令中使用该操作符。例如,要将 dir 输出重定向到 Dirlist.txt,请键入:

dir>dirlist.txt

如果 Dirlist.txt 不存在,Cmd.exe 将创建该文件。如果 Dirlist.txt 存在,Cmd.exe 将使用 dir 命令的输出替换文件中的信息。

要运行 netsh routing dump 命令,然后将输出发送到 Route.cfg,请键入:

netsh routing dump>c:\route.cfg

> 操作符可以打开具有只写访问权限的指定文件。因此,不能使用该操作符读取文件。例如,如果使用重定向操作符 >&0 启动程序,则写入句柄 1 的所有尝试操作都将失败,因为句柄 0 最初是以只读访问方式打开的。

注意

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

dir>c:\file.txt 2>&1

复制句柄时,可以复制该句柄原状态的所有特性。例如,如果一个句柄具有只读访问的属性,则该句柄的所有副本都具有只读访问属性。不能将一个具有只读访问属性的句柄复制到另一个具有只写访问属性的句柄。

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

例如,要以句柄 0 输入读取(即 STDIN)的方式打开 File.txt,请键入:

<file.txt

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

sort<file.txt

要查找 File.txt,然后将句柄 1(即 STDOUT)和句柄 2(即 STDERR)重定向到 Search.txt,请键入:

findfile file.txt>search.txt 2<&1

要以句柄 0 输入读取(即 STDIN)的方式复制用户定义的句柄 3,请键入:

<&3

使用 & 操作符重定向输出和复制

如果将输出重定向到文件且指定了现有的文件名,Cmd.exe 将以只写方式打开文件并覆盖该文件内容。如果指定了句柄,Cmd.exe 将文件复制到现有句柄中。

要将用户定义的句柄 3 复制到句柄 1,请键入:

>&3
要将包括句柄 2(即 STDERR)的所有输出从 ipconfig 命令重定向到句柄 1(即 STDOUT),然后将输出重定向到 Output.log,请键入:

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

使用 >> 重定向操作符附加输出

要从命令中将输出添加到文件末尾而不丢失文件中已存在的任何信息,请使用两个连续的大于号(即 >>)。例如,使用下列命令可以将 dir 命令生成的目录列表附加到 Dirlist.txt 文件:

dir>>dirlist.txt

要将 netstat 命令的输出附加到 tcpinfo.txt 的末尾,请键入:

netstat>>tcpinfo.txt

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

dir | sort

在本例中,将同时启动两个命令,但随后 sort 命令会暂停,直到它接收到 dir 命令的输出为止。sort 命令使用 dir 命令的输出作为输入,然后将输出发送到句柄 1(即 STDOUT)。
合并带重定向操作符的命令
通过合并带有其他命令和文件名的筛选器命令,可以创建自定义命令。例如,可以使用以下命令存储包含“LOG”字符串的文件名:

dir /b | find "log" loglist.txt

dir 命令的输出是通过 find 筛选器命令进行发送的。包含字符串“LOG”的文件名作为文件名列表(例如,NetshConfig.log、Logdat.svd 和 Mylog.bat)存储在文件 Loglist.txt 中。

要在相同命令中使用多个筛选器,请使用管道 (|) 分隔筛选器。例如,下面的命令将搜索 C 盘上的每个目录以查找包含“LOG”字符串的文件名,并且在命令提示符窗口中每次显示一屏:

dir c:\ /s /b | find "log" | more

利用管道 (|) 可以对 Cmd.exe 进行定向,使其通过 find 筛选器命令发送 dir 命令输出。find 命令只选择包含字符串“LOG”的文件名。more 命令可以显示 find 命令选择的文件名(在命令提示符窗口中每次显示一屏)。

感谢各位的阅读!关于“cmd批处理nul的使用示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: cmd批处理nul的使用示例

本文链接: https://lsjlt.com/news/254261.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • cmd批处理nul的使用示例
    这篇文章给大家分享的是有关cmd批处理nul的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。cmd批处理 nul 部分用法用法1:2>nul2>nul 是屏蔽操作失败显示的信息,如果成功依旧显...
    99+
    2023-06-08
  • 使用批处理的示例分析
    这篇文章将为大家详细讲解有关使用批处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。批处理程序删除自身.bat echo 有时候我们需要批处理程序在执行完成之后删除自身,可以用 del %0 例...
    99+
    2023-06-08
  • 使用bat批处理的示例分析
    这篇文章将为大家详细讲解有关使用bat批处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。删除默认共享(别存为bat文件放在开始菜单中):net_share_delete.bat,删除默认共享的...
    99+
    2023-06-09
  • 如何使用批处理为cmd设置密码
    这篇文章主要介绍如何使用批处理为cmd设置密码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!CMD加密是通过批处理实现的,现在我们来新建一个记事本,然后复制下面的命令并粘贴到记事本里去,并重命名为*.bat即可。 代...
    99+
    2023-06-09
  • SpringBoot批处理的实现示例
    目录1.添加依赖2.添加配置信息3.在项目启动类上添加@EnableBatchProcessing注解开开启SpringBatch支持4.配置批处理5.实体类6.创建Controll...
    99+
    2024-04-02
  • cmd批处理转义字符%怎么用
    小编给大家分享一下cmd批处理转义字符%怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!%是个ESCAPE字符,通常将之译为转义字符,但也有更形象的译名脱逸字...
    99+
    2023-06-09
  • cmd批处理常用符号有哪些
    这篇文章将为大家详细讲解有关cmd批处理常用符号有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、@一般在它之后紧跟一条命令或一条语句,则此命令或语句本身在执行的时候不会显示在屏幕上。请把下面的代码...
    99+
    2023-06-08
  • 批处理病毒的示例分析
    这篇文章主要为大家展示了“批处理病毒的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“批处理病毒的示例分析”这篇文章吧。@echo offtitle You ...
    99+
    2023-06-09
  • Windows 批处理cmd/bat常用命令详解
    目录Windows批处理(cmd/bat)常用命令教程常见问题:前言什么是批处理?怎么创建批处理文件?批处理命令简介批处理常用命令总结批处理符号简介常用DOS命令Windows Ba...
    99+
    2022-11-13
    Windows 批处理cmd/bat常用命令 Windows cmd bat命令 Windows 批处理命令
  • cmd批处理中goto call命令怎么用
    小编给大家分享一下cmd批处理中goto call命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一个批处理 goto命令使用方法将 cmd....
    99+
    2023-06-09
  • 如何使用批处理创建CMD命令速查手册
    这篇文章主要介绍了如何使用批处理创建CMD命令速查手册,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:@echo off & setlocal EnableD...
    99+
    2023-06-08
  • MySQL在cmd和python下的使用示例
    这篇文章主要介绍MySQL在cmd和python下的使用示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!环境配置1:安装mysql,环境变量添加mysql的bin目录环境配置2:p...
    99+
    2024-04-02
  • BAT批处理脚本的示例分析
    这篇文章主要为大家展示了“BAT批处理脚本的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“BAT批处理脚本的示例分析”这篇文章吧。第一章 批处理基础第一节 常用批处理内部命令简介批处理定...
    99+
    2023-06-08
  • DOS批处理中变量的示例分析
    这篇文章主要介绍了DOS批处理中变量的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、系统变量他们的值由系统将其根据事先定义的条件自动赋值,也就是这些变量系统已经给...
    99+
    2023-06-08
  • 批处理常用DOS中findfindstr命令的示例分析
    今天就跟大家聊聊有关批处理常用DOS中findfindstr命令的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一.字符串查找:find在文件中搜索字符串。FIND [/V]...
    99+
    2023-06-08
  • bat批处理 if 命令示例详解
    if命令是批处理中常用的条件判断命令,可以根据条件的满足与否执行不同的操作。下面是一些if命令的示例及详解:1. 检查两个值是否相等...
    99+
    2023-08-11
    bat
  • 批处理入门与提高的示例分析
    这篇文章主要为大家展示了“批处理入门与提高的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“批处理入门与提高的示例分析”这篇文章吧。大家知不知道默认共享这回事?这东西用不着的地方可就不是好...
    99+
    2023-06-09
  • dos批处理for循环命令的示例分析
    这篇文章主要为大家展示了“dos批处理for循环命令的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“dos批处理for循环命令的示例分析”这篇文章吧。格式:FOR [参数] %%变量名 ...
    99+
    2023-06-08
  • cmd批处理中set /a和set /p的区别是什么
    这篇文章将为大家详细讲解有关cmd批处理中set /a和set /p的区别是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在 SET 命令中添加了两个新命令行开关:SET /A expressionS...
    99+
    2023-06-08
  • 如何使用批处理实现显示当前ip
    小编给大家分享一下如何使用批处理实现显示当前ip,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码如下:@echo off for ...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作