windows常用网络命令大全 分享Windows常用的批处理命令大全(12)


例如一个批处理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容 。
重定向操作
可以使用重定向操作符将命令输入和输出数据流从默认位置重定向到其他位置 。输入或输出数据流的位置称为句柄 。
下表将列出可用的句柄 。
句柄句柄的数字代号描述
STDIN0键盘输入
STDOUT1输出到命令提示符窗口
STDERR2错误输出到命令提示符窗口
UNDEFINED3-9句柄由应用程序单独定义 , 它们是各个工具特有的
数字 0 到 9 代表前 10 个句柄 。可以使用命令 Cmd.exe 运行程序 , 并对该程序前 10 个句柄中的任何一个句柄进行重定向 。要指定要用的句柄 , 在重定向操作符之前键入该句柄的数字 。如果未定义句柄 , 则默认的 《 重定向输入操作符是 0 , 而默认的 》 重定向输出操作符是 1 。键入 《 或 》 操作符之后 , 必须指定数据的读写位置 。可以指定文件名或其他现有的句柄 。
要指定重定向到现有句柄 , 请使用与 (&) 字符 , 后面接要重定向的句柄号(即 &句柄号) 。例如 , 下面的命令可以将句柄 2(即 STDERR)重定向到句柄 1(即 STDOUT):
2》&1
重定向输入”《“要通过键盘将输入重定向到文件或设备 , 使用 ”《 “操作符 。
例如 , 要从 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 将指定的句柄复制到系统现有的句柄中 。

推荐阅读