批处理(Batch Processing)是一种通过编写脚本文件(通常以 `.bat` 或 `.cmd` 为扩展名)来自动执行一系列命令的技术。批处理文件可以在 Windows 操作系统中运行,常用于自动化任务、系统管理、文件操作等。
以下是常见的批处理命令及其用法:
### 1. **ECHO**
- 用于显示消息或打开/关闭命令回显。
- 示例:
```batch
@echo off
echo Hello, World!
```
- `@echo off` 关闭命令回显,只显示输出结果。
- `echo Hello, World!` 输出 "Hello, World!"。
### 2. **REM**
- 用于添加注释,批处理执行时会忽略这些内容。
- 示例:
```batch
REM 这是一个注释
echo 这是一个示例
```
### 3. **SET**
- 用于设置或显示环境变量。
- 示例:
```batch
set myVar=Hello
echo %myVar%
```
- `set myVar=Hello` 设置变量 `myVar` 为 "Hello"。
- `echo %myVar%` 输出变量的值。
### 4. **IF**
- 用于条件判断。
- 示例:
```batch
set var=10
if %var%==10 (
echo var 等于 10
) else (
echo var 不等于 10
)
```
### 5. **FOR**
- 用于循环操作。
- 示例:
```batch
for %%i in (1,2,3) do echo %%i
```
- 循环输出 1、2、3。
### 6. **GOTO**
- 用于跳转到批处理文件中的指定标签。
- 示例:
```batch
goto start
:end
echo 结束
exit
:start
echo 开始
goto end
```
### 7. **CALL**
- 用于调用另一个批处理文件或子程序。
- 示例:
```batch
call another.bat
```
### 8. **PAUSE**
- 暂停批处理执行,等待用户按任意键继续。
- 示例:
```batch
echo 按任意键继续...
pause
```
### 9. **EXIT**
- 退出批处理文件。
- 示例:
```batch
exit
```
### 10. **START**
- 启动一个单独的窗口来运行指定的程序或命令。
- 示例:
```batch
start notepad.exe
```
### 11. **COPY**
- 复制文件。
- 示例:
```batch
copy file1.txt file2.txt
```
### 12. **DEL**
- 删除文件。
- 示例:
```batch
del file.txt
```
### 13. **MKDIR**
- 创建目录。
- 示例:
```batch
mkdir new_folder
```
### 14. **RMDIR**
- 删除目录。
- 示例:
```batch
rmdir /s /q old_folder
```
- `/s` 删除目录及其内容。
- `/q` 静默模式,不提示确认。
### 15. **XCOPY**
- 复制目录及其内容。
- 示例:
```batch
xcopy source_dir destination_dir /s /e
```
### 16. **MOVE**
- 移动文件或目录。
- 示例:
```batch
move file.txt new_location\
```
### 17. **TYPE**
- 显示文件内容。
- 示例:
```batch
type file.txt
```
### 18. **FIND**
- 在文件中搜索字符串。
- 示例:
```batch
find "search_string" file.txt
```
### 19. **PING**
- 测试网络连接。
- 示例:
```batch
ping google.com
```
### 20. **TASKLIST**
- 显示当前运行的进程。
- 示例:
```batch
tasklist
```
### 21. **TASKKILL**
- 终止进程。
- 示例:
```batch
taskkill /im notepad.exe
```
### 22. **SHUTDOWN**
- 关闭或重启计算机。
- 示例:
```batch
shutdown /s /t 0
```
- `/s` 关闭计算机。
- `/t 0` 立即执行。
### 23. **CHKDSK**
- 检查磁盘并显示状态报告。
- 示例:
```batch
chkdsk C:
```
### 24. **NET**
- 管理网络资源。
- 示例:
```batch
net user
```
### 25. **ASSOC**
- 显示或修改文件扩展名关联。
- 示例:
```batch
assoc .txt
```
### 26. **ATTRIB**
- 显示或更改文件属性。
- 示例:
```batch
attrib +r file.txt
```
### 27. **FC**
- 比较两个文件并显示差异。
- 示例:
```batch
fc file1.txt file2.txt
```
### 28. **SORT**
- 对输入进行排序。
- 示例:
```batch
sort file.txt
```
### 29. **TIME**
- 显示或设置系统时间。
- 示例:
```batch
time
```
### 30. **DATE**
- 显示或设置系统日期。
- 示例:
```batch
date
```
### 31. **VER**
- 显示 Windows 版本。
- 示例:
```batch
ver
```
### 32. **VOL**
- 显示磁盘卷标和序列号。
- 示例:
```batch
vol C:
```
### 33. **TITLE**
- 设置命令提示符窗口的标题。
- 示例:
```batch
title 我的批处理脚本
```
### 34. **COLOR**
- 设置控制台的前景色和背景色。
- 示例:
```batch
color 0A
```
- `0` 表示黑色背景,`A` 表示绿色前景。
### 35. **CLS**
- 清除屏幕。
- 示例:
```batch
cls
```
### 36. **PROMPT**
- 更改命令提示符的显示。
- 示例:
```batch
prompt $p$g
```
### 37. **MORE**
- 逐屏显示输出。
- 示例:
```batch
more file.txt
```
### 38. **TREE**
- 以图形方式显示目录结构。
- 示例:
```batch
tree C:\
```
### 39. **HELP**
- 显示命令的帮助信息。
- 示例:
```batch
help copy
```
### 40. **CMD**
- 启动一个新的命令解释器实例。
- 示例:
```batch
cmd /c echo Hello
```
### 41. **CHOICE**
- 提示用户选择一个选项。
- 示例:
```batch
choice /c yn /m "请选择 Y 或 N"
if errorlevel 2 goto no
if errorlevel 1 goto yes
:yes
echo 你选择了 Y
goto end
:no
echo 你选择了 N
:end
```
### 42. **PUSHD** 和 **POPD**
- `PUSHD` 保存当前目录并切换到指定目录,`POPD` 恢复之前保存的目录。
- 示例:
```batch
pushd C:\Windows
popd
```
### 43. **SUBST**
- 将路径映射为驱动器号。
- 示例:
```batch
subst X: C:\MyFolder
```
### 44. **DISKPART**
- 磁盘分区管理工具。
- 示例:
```batch
diskpart /s script.txt
```
### 45. **SCHTASKS**
- 计划任务管理。
- 示例:
```batch
schtasks /create /tn "MyTask" /tr "C:\MyScript.bat" /sc daily /st 09:00
```
### 46. **REG**
- 操作注册表。
- 示例:
```batch
reg add "HKCU\Software\MyApp" /v "MyValue" /t REG_SZ /d "MyData"
```
### 47. **WMIC**
- Windows 管理工具,用于查询系统信息。
- 示例:
```batch
wmic os get caption
```
### 48. **ROBOCOPY**
- 强大的文件复制工具。
- 示例:
```batch
robocopy C:\Source C:\Destination /e
```
### 49. **NETSTAT**
- 显示网络连接、路由表、接口统计等信息。
- 示例:
```batch
netstat -an
```
### 50. **IPCONFIG**
- 显示网络配置信息。
- 示例:
```batch
ipconfig /all
```
### 示例批处理脚本
以下是一个简单的批处理脚本示例,它创建一个目录、复制文件并显示消息:
```batch
@echo off
echo 开始执行脚本...
mkdir C:\MyFolder
copy C:\Source\file.txt C:\MyFolder\file.txt
echo 文件已复制到 C:\MyFolder
pause
```
### 总结
批处理命令可以帮助你自动化许多重复性任务,提高工作效率。通过组合这些命令,你可以创建强大的脚本来管理系统、处理文件、执行网络操作等。