佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 批處理中屏蔽錯(cuò)誤信息 nul 2;nul 的用法 (cmd;nul空格2;nul)

批處理中屏蔽錯(cuò)誤信息 nul 2;nul 的用法 (cmd;nul空格2;nul)

熱門(mén)標(biāo)簽:智能手機(jī) 銀行業(yè)務(wù) 美圖手機(jī) 服務(wù)器配置 呼叫中心市場(chǎng)需求 網(wǎng)站文章發(fā)布 鐵路電話(huà)系統(tǒng) 檢查注冊(cè)表項(xiàng)

cmd批處理 nul 部分用法

用法1:2>nul

2>nul 是屏蔽操作失敗顯示的信息,如果成功依舊顯示。

如:在批處理文件所在路徑下md(或者mkdir)創(chuàng)建名為test的文件夾,當(dāng)此文件夾已經(jīng)創(chuàng)建時(shí)會(huì)報(bào)錯(cuò)。使用2>nul 可屏蔽此提示

md test 2>nul

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

>nul 是屏蔽操作成功顯示的信息,但是出錯(cuò)還是會(huì)顯示(即1>nul)

@符號(hào)是取消本行的輸入顯示

如:

例1:ping 一個(gè)IP地址。cmd中將首先顯示,輸入情況,c:\user\administrator\ ping 192.168.1.1 無(wú)論能不能ping通,界面一般會(huì)輸出連續(xù)輸出4行ping的情況。

@echo off
ping 192.168.1.1
pause

例2:在語(yǔ)句前加上@,不再顯示輸入情況。直接顯示ping輸出結(jié)果

@echo off
@ping 192.168.1.1
pause

例3:在語(yǔ)句末加上>nul,不再顯示輸出結(jié)果,由于添加了@,輸入情況也不會(huì)顯示。

@echo off
@ping192.168.1.1 >nul
pause

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

屏蔽所有輸出語(yǔ)句顯示,無(wú)論成功或失敗界面均不再提示

關(guān)于"1>” "2>" "2>1" 的具體意思

標(biāo)準(zhǔn)輸入(standard input)的文件描述符是 0
標(biāo)準(zhǔn)輸出(standard output)是 1
標(biāo)準(zhǔn)錯(cuò)誤(standard error)是 2>和>>都是重定向輸出(>是覆蓋,>>是追加)

1> 指標(biāo)準(zhǔn)信息輸出路徑(也就是默認(rèn)的輸出方式)
2> 指錯(cuò)誤信息輸出路徑
2>1 指將標(biāo)準(zhǔn)信息輸出路徑指定為錯(cuò)誤信息輸出路徑(也就是都輸出在一起)

補(bǔ)充問(wèn)題40:

和都是重定向輸入
0指標(biāo)準(zhǔn)輸入路徑
40 指的是將文件描述符4指定為標(biāo)準(zhǔn)輸入(實(shí)際可選4到9之間任意一個(gè)數(shù)字)

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

將包含"standard" 的行全部寫(xiě)入grep.out文件中,包括grep時(shí)發(fā)生錯(cuò)誤的報(bào)錯(cuò)信息

del abc.txt>nul 2>nul

這個(gè)">nul 2>nul"可以屏蔽一切屏幕的輸出可以這樣理解:

假如執(zhí)行一個(gè)命令,但是不想在屏幕里看到這個(gè)命令的執(zhí)行情況,可以使用"[命令]>nul"就可以屏蔽命令在屏幕上的輸出,但是有的命令執(zhí)行會(huì)出錯(cuò),即使用了">nul"也不能屏蔽命令產(chǎn)生的信息,所以就在后面加" 2>nul"這個(gè),就是"[命令]>nul+空格+2>nul",這樣,不管命令是否正確的運(yùn)行,都不會(huì)在屏幕看到這個(gè)命令所產(chǎn)生的屏幕顯示了。

用"dir"命令可以顯示當(dāng)前目錄的文件及文件夾列表,這時(shí)如果用"dir>nul",就看不見(jiàn)dir命令執(zhí)行的屏幕輸出了,那么再鍵入"dirr"時(shí)會(huì)顯示" 'dirr' 不是內(nèi)部命令,也不是外部命令,也不是批處理文件。",這時(shí)如果用"dirr>nul"來(lái)屏蔽這個(gè)錯(cuò)誤,因?yàn)橐廊粫?huì)出現(xiàn)" 'dirr' 不是內(nèi)部命令,也不是外部命令,也不是批處理文件。"這個(gè)錯(cuò)誤提示,這時(shí)如果用"dirr>nul 2>nul"的話(huà),就在屏幕上看不到上面的出錯(cuò)提示了

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

1>nul 意思是不顯示命令運(yùn)行的正確提示
2>nul 是不顯示錯(cuò)誤提示
一起就是 正確錯(cuò)誤的都不顯示
>是重定向符號(hào)
nul是空設(shè)備的意思
把提示輸入到空設(shè)備就不顯示了
重定向你可以理解為 輸入到 的意思

實(shí)例:

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

經(jīng)常看到“>nul 2>nul”是什么意思?

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

2>nul 簡(jiǎn)析

2>nul的2指錯(cuò)誤輸出句柄,2>nul表示將執(zhí)行的錯(cuò)誤結(jié)果輸出到空設(shè)備nul,也就是不輸出錯(cuò)誤結(jié)果。

例如。弱智 2>nul 將不顯示'弱智' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。

就是說(shuō)>nul 表示成功執(zhí)行后不回顯,2>nul 表示不成功執(zhí)行后不回顯
>nul 2>nul 表示不管命令執(zhí)行成功與否都不回顯

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

把標(biāo)準(zhǔn)輸出流重定向到nul,把標(biāo)準(zhǔn)錯(cuò)誤流重定向到標(biāo)準(zhǔn)輸出流。
輸出到nul的內(nèi)容會(huì)被直接丟棄,因此效果就是丟棄程序的一切輸出。

2>1表示把標(biāo)準(zhǔn)錯(cuò)誤流重定向到標(biāo)準(zhǔn)輸出流。

關(guān)于cmd命令的重定向輸出 2>1

mycommand >mylog.txt 2>1 應(yīng)該是最經(jīng)典的用法了。

命令的結(jié)果可以通過(guò)“%>”的形式來(lái)定向輸出,%表示文件描述符:1為標(biāo)準(zhǔn)輸出stdout、2為標(biāo)準(zhǔn)錯(cuò)誤stderr。系統(tǒng)默認(rèn)%值是1,也就是“1>”,而1>可以簡(jiǎn)寫(xiě)為>,也就是默認(rèn)為>。stdout的默認(rèn)目標(biāo)是終端,stderr的默認(rèn)目標(biāo)為也是終端。我們?cè)谂幚碇袌?zhí)行: echo text >result.txt ,我們就可以在屏幕上會(huì)看到 echo text 1>result.txt ,即是這個(gè)道理。
其中需要直接與重定向符號(hào)結(jié)合使用。

應(yīng)用實(shí)例:

1、將結(jié)果輸出到result.txt

net stop myservices >>result 2>1

2、隱藏程序輸出結(jié)果

net stop myservices >nul 2>nul

微軟關(guān)于重定向的文章:使用命令重定向操作符

可以使用重定向操作符將命令輸入和輸出數(shù)據(jù)流從默認(rèn)位置重定向到其他位置。輸入或輸出數(shù)據(jù)流的位置稱(chēng)為句柄。
下表將列出可用的句柄。

句柄 句柄的數(shù)字代號(hào) 描述
STDIN 0
鍵盤(pán)輸入

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

STDERR 2
錯(cuò)誤輸出到命令提示符窗口

UNDEFINED 3-9
句柄由應(yīng)用程序單獨(dú)定義,它們是各個(gè)工具特有的

數(shù)字 0 到 9 代表前 10 個(gè)句柄??梢允褂妹?Cmd.exe 運(yùn)行程序,并對(duì)該程序前 10 個(gè)句柄中的任何一個(gè)句柄進(jìn)行重定向。要指定要用的句柄,請(qǐng)?jiān)谥囟ㄏ虿僮鞣版I入該句柄的數(shù)字。如果未定義句柄,則默認(rèn)的 重定向輸入操作符是 0,而默認(rèn)的 > 重定向輸出操作符是 1。鍵入 或 > 操作符之后,必須指定數(shù)據(jù)的讀寫(xiě)位置??梢灾付ㄎ募蚱渌F(xiàn)有的句柄。
要指定重定向到現(xiàn)有句柄,請(qǐng)使用與 () 字符,后面接要重定向的句柄號(hào)(即 句柄號(hào))。例如,下面的命令可以將句柄 2(即 STDERR)重定向到句柄 1(即 STDOUT):

2>1

下表列出了可用于重定向輸入和輸出數(shù)據(jù)流的操作符。

重定向操作符 描述
> 將命令輸出寫(xiě)入到文件或設(shè)備(如打印機(jī)),而不是命令提示符窗口或句柄。
從文件而不是從鍵盤(pán)或句柄讀入命令輸入。

>> 將命令輸出添加到文件末尾而不刪除文件中已有的信息。
> 將一個(gè)句柄的輸出寫(xiě)入到另一個(gè)句柄的輸入中。
從一個(gè)句柄讀取輸入并將其寫(xiě)入到另一個(gè)句柄輸出中。
| 從一個(gè)命令中讀取輸出并將其寫(xiě)入另一個(gè)命令的輸入中。也稱(chēng)作管道。

默認(rèn)情況下,可以從鍵盤(pán)將命令輸入(即 STDIN 句柄)發(fā)送到 Cmd.exe,然后由 Cmd.exe 將命令輸出(即 STDOUT 句柄)發(fā)送到命令提示符窗口。

重定向輸入 ()

要通過(guò)鍵盤(pán)將輸入重定向到文件或設(shè)備,請(qǐng)使用 操作符。例如,要從 File.txt 獲取 sort 命令的輸入,請(qǐng)鍵入:

sortfile.txt

File.txt 的內(nèi)容將以字母順序列表的方式顯示在命令提示符窗口中。

操作符可以打開(kāi)具有只讀訪(fǎng)問(wèn)權(quán)限的指定文件名。因此,不能在使用該操作符時(shí)向文件中寫(xiě)入信息。例如,如果以 2 啟動(dòng)程序,則所有試圖讀取句柄 0 的操作都將失敗,因?yàn)榫浔?2 最初是以只寫(xiě)訪(fǎng)問(wèn)方式打開(kāi)的。

注意

0 是 重定向輸入操作符的默認(rèn)句柄。

重定向輸出 (>)
幾乎所有的命令都將輸出發(fā)送到命令提示符窗口。即使將輸出發(fā)送到驅(qū)動(dòng)器或打印機(jī)的命令也會(huì)在命令提示符窗口顯示消息和提示。

要將輸出從命令提示符窗口重定向到文件或設(shè)備,請(qǐng)使用 > 操作符??梢栽谠S多命令中使用該操作符。例如,要將 dir 輸出重定向到 Dirlist.txt,請(qǐng)鍵入:

dir>dirlist.txt

如果 Dirlist.txt 不存在,Cmd.exe 將創(chuàng)建該文件。如果 Dirlist.txt 存在,Cmd.exe 將使用 dir 命令的輸出替換文件中的信息。

要運(yùn)行 netsh routing dump 命令,然后將輸出發(fā)送到 Route.cfg,請(qǐng)鍵入:

netsh routing dump>c:\route.cfg

> 操作符可以打開(kāi)具有只寫(xiě)訪(fǎng)問(wèn)權(quán)限的指定文件。因此,不能使用該操作符讀取文件。例如,如果使用重定向操作符 >0 啟動(dòng)程序,則寫(xiě)入句柄 1 的所有嘗試操作都將失敗,因?yàn)榫浔?0 最初是以只讀訪(fǎng)問(wèn)方式打開(kāi)的。

注意

1 是 > 重定向輸出操作符的默認(rèn)句柄。
復(fù)制句柄
重定向操作符 可以將輸出或輸入從一個(gè)指定句柄復(fù)制到另一個(gè)指定的句柄。例如,要將 dir 輸出發(fā)送到 File.txt 并將錯(cuò)誤輸出發(fā)送到 File.txt,請(qǐng)鍵入:

dir>c:\file.txt 2>1

復(fù)制句柄時(shí),可以復(fù)制該句柄原狀態(tài)的所有特性。例如,如果一個(gè)句柄具有只讀訪(fǎng)問(wèn)的屬性,則該句柄的所有副本都具有只讀訪(fǎng)問(wèn)屬性。不能將一個(gè)具有只讀訪(fǎng)問(wèn)屬性的句柄復(fù)制到另一個(gè)具有只寫(xiě)訪(fǎng)問(wèn)屬性的句柄。

使用 操作符重定向輸入和副本
要將重定向輸入操作符 () 與復(fù)制操作符 () 結(jié)合使用,指定的文件必須已經(jīng)存在。如果輸入文件存在,Cmd.exe 將以只讀方式打開(kāi)該文件,然后將文件包含的字符作為輸入發(fā)送到此命令(如同從鍵盤(pán)輸入一樣)。如果指定了句柄,Cmd.exe 將指定的句柄復(fù)制到系統(tǒng)現(xiàn)有的句柄中。

例如,要以句柄 0 輸入讀?。?STDIN)的方式打開(kāi) File.txt,請(qǐng)鍵入:

file.txt

要打開(kāi) File.txt,并在內(nèi)容排序后將輸出發(fā)送到命令提示符窗口(即 STDOUT),請(qǐng)鍵入:

sortfile.txt

要查找 File.txt,然后將句柄 1(即 STDOUT)和句柄 2(即 STDERR)重定向到 Search.txt,請(qǐng)鍵入:

findfile file.txt>search.txt 21

要以句柄 0 輸入讀取(即 STDIN)的方式復(fù)制用戶(hù)定義的句柄 3,請(qǐng)鍵入:

3

使用 操作符重定向輸出和復(fù)制

如果將輸出重定向到文件且指定了現(xiàn)有的文件名,Cmd.exe 將以只寫(xiě)方式打開(kāi)文件并覆蓋該文件內(nèi)容。如果指定了句柄,Cmd.exe 將文件復(fù)制到現(xiàn)有句柄中。

要將用戶(hù)定義的句柄 3 復(fù)制到句柄 1,請(qǐng)鍵入:

>3
要將包括句柄 2(即 STDERR)的所有輸出從 ipconfig 命令重定向到句柄 1(即 STDOUT),然后將輸出重定向到 Output.log,請(qǐng)鍵入:

ipconfig.exe>>output.log 2>1

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

要從命令中將輸出添加到文件末尾而不丟失文件中已存在的任何信息,請(qǐng)使用兩個(gè)連續(xù)的大于號(hào)(即 >>)。例如,使用下列命令可以將 dir 命令生成的目錄列表附加到 Dirlist.txt 文件:

dir>>dirlist.txt

要將 netstat 命令的輸出附加到 Tcpinfo.txt 的末尾,請(qǐng)鍵入:

netstat>>tcpinfo.txt

使用管道操作符 (|)
管道操作符 (|) 可以提取一個(gè)命令的輸出(默認(rèn)情況下是 STDOUT),然后將其定向到另一個(gè)命令的輸入(默認(rèn)情況下是 STDIN)中。例如,使用下面的命令可以對(duì)目錄進(jìn)行分類(lèi):

dir | sort

在本例中,將同時(shí)啟動(dòng)兩個(gè)命令,但隨后 sort 命令會(huì)暫停,直到它接收到 dir 命令的輸出為止。sort 命令使用 dir 命令的輸出作為輸入,然后將輸出發(fā)送到句柄 1(即 STDOUT)。
合并帶重定向操作符的命令
通過(guò)合并帶有其他命令和文件名的篩選器命令,可以創(chuàng)建自定義命令。例如,可以使用以下命令存儲(chǔ)包含“LOG”字符串的文件名:

dir /b | find "log" loglist.txt

dir 命令的輸出是通過(guò) find 篩選器命令進(jìn)行發(fā)送的。包含字符串“LOG”的文件名作為文件名列表(例如,NetshConfig.log、Logdat.svd 和 Mylog.bat)存儲(chǔ)在文件 Loglist.txt 中。

要在相同命令中使用多個(gè)篩選器,請(qǐng)使用管道 (|) 分隔篩選器。例如,下面的命令將搜索 C 盤(pán)上的每個(gè)目錄以查找包含“LOG”字符串的文件名,并且在命令提示符窗口中每次顯示一屏:

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

利用管道 (|) 可以對(duì) Cmd.exe 進(jìn)行定向,使其通過(guò) find 篩選器命令發(fā)送 dir 命令輸出。find 命令只選擇包含字符串“LOG”的文件名。more 命令可以顯示 find 命令選擇的文件名(在命令提示符窗口中每次顯示一屏)。

標(biāo)簽:紅河 長(zhǎng)治 新疆 上海 河南 樂(lè)山 滄州 沈陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《批處理中屏蔽錯(cuò)誤信息 nul 2;nul 的用法 (cmd;nul空格2;nul)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266
    郸城县| 偃师市| 遵化市| 天峨县| 中卫市| 亳州市| 古浪县| 孟连| 会泽县| 武城县| 息烽县| 铁力市| 玉龙| 大渡口区| 晋中市| 南部县| 台山市| 来凤县| 温州市| 巍山| 龙江县| 柳江县| 上林县| 江口县| 偏关县| 瑞安市| 文登市| 宜兰县| 新绛县| 永丰县| 新竹县| 宁陵县| 比如县| 东乌珠穆沁旗| 阿勒泰市| 宝山区| 荔波县| 建阳市| 上蔡县| 徐闻县| 抚宁县|