windows批处理命令教程

2019-09-19 06:46:26王振洲

要将用户定义的句柄 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




批处理示例

IF-EXIST

1)

首先用记事本在C:建立一个test1.bat批处理文件,文件内容如下:
@echo off
IF EXIST AUTOEXEC.BAT TYPE AUTOEXEC.BAT
IF NOT EXIST AUTOEXEC.BAT ECHO AUTOEXEC.BAT does not exist

然后运行它:
C:>TEST1.BAT

如果C:存在AUTOEXEC.BAT文件,那么它的内容就会被显示出来,如果不存在,批处理就会提示你该文件不存在。

2)

接着再建立一个test2.bat文件,内容如下:
@ECHO OFF
IF EXIST %1 TYPE %1
IF NOT EXIST %1 ECHO %1 does not exist

执行:
C:>TEST2 AUTOEXEC.BAT
相关文章 大家在看