DOS命令详解:从基础操作到高级脚本编程

1. DOS命令基础与历史背景

DOS(Disk Operating System)作为早期个人计算机的主流操作系统,其命令行界面至今仍在Windows系统中以"命令提示符"形式保留。对于IT从业者、系统管理员和计算机爱好者而言,掌握DOS命令不仅能提升工作效率,更是理解现代操作系统底层逻辑的重要途径。

1981年问世的MS-DOS 1.0仅支持160KB软盘,到1994年MS-DOS 6.22版本已具备内存管理、磁盘压缩等高级功能。虽然图形界面已成主流,但DOS命令在以下场景仍不可替代:

  • 批量文件操作(重命名、复制、删除)
  • 系统故障修复(启动修复、磁盘检查)
  • 自动化脚本编写(.bat批处理)
  • 网络配置与诊断

提示:在Windows 10/11中按Win+R输入cmd即可打开命令提示符窗口,输入cmd /k "命令"可执行后保持窗口打开。

2. 文件与目录管理命令详解

2.1 基础导航命令

dir # 显示当前目录内容 dir /p # 分页显示 dir /w # 宽列表格式 dir *.txt # 只显示txt文件 dir /a # 显示包括隐藏文件

cd命令的进阶用法:

cd.. # 返回上级目录 cd\ # 返回根目录 cd %userprofile% # 跳转到用户目录 pushd temp # 进入temp目录并保存路径 popd # 返回pushd前的目录

2.2 目录操作命令

md project\src # 创建多级目录 rd /s /q temp # 强制删除目录(无确认) tree /f # 显示目录树结构 xcopy src dist /e /i # 复制目录(含子目录)

注意:rd /s删除目录不可恢复,建议先运行dir确认内容。

3. 文件操作高级技巧

3.1 文件创建与编辑

echo Hello > test.txt # 创建文件 type test.txt # 查看内容 copy con config.ini # 实时编辑(Ctrl+Z保存) attrib +h secret.txt # 设置隐藏属性

3.2 批量文件处理

ren *.txt *.bak # 批量重命名 for %i in (*.log) do del %i # 批量删除 findstr "error" *.log # 多文件内容搜索

3.3 文件比较与校验

fc file1.txt file2.txt # 文件内容对比 comp /a /l file1 file2 # 二进制比较 certutil -hashfile test.zip SHA256 # 生成哈希值

4. 系统管理与维护命令

4.1 磁盘操作

chkdsk /f # 检查并修复磁盘 format D: /fs:NTFS # 格式化磁盘 diskpart # 进入磁盘分区工具 vol # 显示磁盘卷标

4.2 系统信息查询

systeminfo # 显示详细系统信息 tasklist # 查看运行进程 taskkill /im notepad.exe /f # 结束进程 wmic bios get serialnumber # 获取BIOS序列号

4.3 时间与计划任务

time # 显示/设置系统时间 at 14:00 /every:M cmd /c backup.bat # 创建计划任务 schtasks /create /tn "Cleanup" /tr clean.bat /sc daily /st 23:00 # 高级任务计划

5. 网络相关命令实战

5.1 网络配置查询

ipconfig /all # 显示完整网络配置 arp -a # 显示ARP缓存 netstat -ano # 显示所有连接和PID route print # 显示路由表

5.2 网络诊断工具

ping baidu.com -t # 持续ping测试 tracert 8.8.8.8 # 路由追踪 telnet mail.163.com 25 # 端口测试 netsh wlan show profiles # 查看WiFi配置

5.3 网络共享管理

net use z: \\server\share # 映射网络驱动器 net share # 查看本地共享 net user admin /add # 创建用户 net localgroup administrators admin /add # 提升权限

6. 批处理脚本编程基础

6.1 基础语法结构

@echo off title 系统清理工具 color 0a set /p choice=请输入选项(1-3): if "%choice%"=="1" goto clean if "%choice%"=="2" goto backup

6.2 常用特殊符号

%date% # 当前日期 %random% # 随机数 %~dp0 # 脚本所在路径 | more # 分页输出 >> log.txt # 追加输出

6.3 实用脚本示例

自动备份脚本:

@echo off set backupdir=D:\backup\%date:~0,10% if not exist "%backupdir%" md "%backupdir%" xcopy C:\project "%backupdir%" /e /y echo 备份完成 >> "%backupdir%\log.txt"

7. 高级技巧与故障排查

7.1 命令组合技巧

dir /b | find ".txt" > list.txt # 管道过滤输出 for /f "tokens=2" %i in ('ipconfig ^| find "IPv4"') do set ip=%i # 提取IP地址

7.2 注册表操作

reg query "HKLM\Software\Microsoft\Windows\CurrentVersion" # 查询注册表 reg add "HKCU\Environment" /v TEMP /d "C:\Temp" /f # 添加项

7.3 系统修复命令

sfc /scannow # 系统文件检查 bootrec /fixmbr # 修复启动记录 dism /online /cleanup-image /restorehealth # 系统映像修复

在实际工作中,我发现很多管理员会忽略命令的历史记录功能。按F7可以调出历史命令窗口,F9可输入命令编号执行历史命令。对于需要重复执行的复杂命令,这个功能能节省大量时间。另外,在批处理脚本中适当加入timeout /t 5可以避免快速执行导致的意外错误。