Bat脚本 重定向与管道
输出重定向
| 操作符 | 说明 |
|---|---|
> |
覆盖写入文件 |
>> |
追加写入文件 |
@echo off
:: 覆盖写入
echo Hello > output.txt
:: 追加写入
echo World >> output.txt
:: 将 dir 命令结果保存到文件
dir C:\Windows > dir_list.txt
错误重定向
在 Windows 批处理中:
1= 标准输出(stdout)2= 标准错误(stderr)
@echo off
:: 将错误输出重定向到文件
dir C:\NotExist 2> error.log
:: 将标准输出和错误输出都重定向到同一个文件
dir C:\Windows > output.log 2>&1
2>&1 表示将错误输出(文件描述符 2)重定向到标准输出(文件描述符 1)所指向的位置。
管道:|
将前一个命令的输出作为后一个命令的输入:
@echo off
:: 查找所有包含 "error" 的进程
tasklist | findstr "error"
:: 列出文件并筛选包含 ".txt" 的行
dir /b | findstr ".txt"
命令连接符
| 操作符 | 说明 |
|---|---|
& |
无条件依次执行多个命令 |
&& |
前一条命令成功时才执行后一条 |
| ` |
@echo off
:: 无条件执行
echo 命令1 & echo 命令2
:: 条件执行(成功则继续)
mkdir Backup && echo 目录创建成功
:: 条件执行(失败则执行)
mkdir Backup || echo 目录创建失败