基本说明及例子 :
将输出信息重定向到指定的设备或文件,系统默认输出/输入显示器。
">" : 将命令运行结果的输出传递到后面设备的输入,之前的内容将被覆盖。如echo ABCD > test.txt,是将"ABCD"写入test.txt文件中,test.txt原有的内容将被删除。
">>" :与">"类似,但只在文件内容的后面追加,不覆盖之前的内容。如echo ABCD >> test.txt,是在test.txt文件末尾追加"ABCD",test.txt原有的内容保留。
"<" : 将后面(右边)设备或文件的内容作为其前面命令的输入,默认从显示器读取输入。如
rem 将当前时间设置成15:28:50
echo 15:28:50 > time.txt
time < time.txt
rem 将2022/1/11赋值给变量var,并显示出来
echo 2022/1/11 > time.txt
set /p var= < time.txt
echo var=%var%
"|" : 将上一个命令的运行结果作为下一个命令的输入 。如 echo 2022/1/11|set /p var=&echo var=%var%,它是以下三条命令的组合,是将日期赋给变量,然后显示出来。也可用于自主回复del 、format等命令,如echo Y|del /p test.txt
echo 2022/1/11
set /p var=
echo var=%var%
">&" : 将一个句柄(左边)的输出写入到另一个句柄的输入,如将标准错误信息(句柄2)重定向到标准输出(句柄1),然后追加到batResult.txt文件中,这样命令执行后的错误信息就会保存到文件中了。
if "%newFExt%"=="" (
ren "%%i" "!file!!ext!" 1>> batResult.txt 2>&1
if "!errorlevel!" neq "0" ( echo --原文件"%%i",新文件名"!file!!ext!">>batResult.txt)
) else (
ren "%%i" "!file!.%newFExt%" 2>> batResult.txt)
"<&" : 从一个句柄读取输入后,写到另一个句柄的输入中。句柄2的输入重定向到句柄1的输入中
if "%newFExt%"=="" (
ren "%%i" "!file!!ext!" 1>> batResult.txt 2<&1
if "!errorlevel!" neq "0" ( echo --原文件"%%i",新文件名"!file!!ext!"-- >>batResult.txt)
) else (
ren "%%i" "!file!.%newFExt%" 2>> batResult.txt)
常用句柄说明:
- 0 :句柄0,标准输入stdin,默认键盘输入
- 1: 句柄1,标准输出stdout,默认输出到命令指示符窗口
- 2: 句柄2,标准错误stderr,默认输出到命令指示符窗口
findstr "test" *.txt 1>nul 屏蔽输出正确的信息。
ren a.txt b.txt 2>nul 屏蔽输出错误的信息,即有错误发生时不显示错误信息。
也可以这样用:findstr "test" *.txt 1>test.txt 2>err.txt
本文暂时没有评论,来添加一个吧(●'◡'●)