DOS与批处理
cmd命令不区分大小写
d:
cd ..
cd 文件夹
dir
dir 文件或文件夹
可执行文件(.exe, .bat., .com),只需进入文件当前目录并输入文件名(不需要后缀)即可执行, 如果将当前目录添加到系统变量path中则不需要进入文件当前目录
. 表示当前目录,.. 表示上层目录,\ 表示根目录
1、dir 用于查看文件和目录的相关信息
/p 分页显示查找结果
/w 只显示文件名 (/p 与 /w可一起使用)
模糊查询(*、?) 例如 dir *.exe
2、cd(change directory) 用于改变工作目录
cd \ 切换到根目录
cd在切换到不同磁盘目录时无效果,需先更改磁盘,此时需添加额外参数,如:cd /d d:\logs
3、md(make directory) 用于创建目录
新建目录中有两个文件夹./..,分别代表当前和上层目录
4、rd(remove derectory) 用于删除文件夹
当目录中有文件或子目录时,删除会失败(不带/s时)
当前目录与根目录不能删除
/s 删除文件夹及目录中的子文件夹和文件 (有是否删除的询问提升)
/q (quiet) 静默模式,不会询问,直接删除,如 rd /s /q d:\temp
5、copy 用于复制文件
格式:copy 原文件名 目的文件名
无论原文件还是目的文件,都遵循规则:不指定目录,即为当前目录;不指定文件名,即为相同文件名. 例:
copy d:\temp\edit.txt
copy edit.txt c:
copy c:\*.bat d:\temp (复制多个文件)
6、 del 用于删除文件
del a:\bmp\sea.bmp 删除某一文件
del *.* 或者 del . 删除当前目录所有文件
del d:\temp 删除temp下所有文件,temp文件夹不会删除
7、ren(rename) 用于更改文件名
格式:ren 原文件名 目标文件名 注意:当文件名不在当前目录下时,原文件名与目标文件名的路径需相同
8、type 用于输出txt文档内容
type 1.txt
9、path 即为环境变量path
10、cls 清理屏幕
11、more 在屏幕上逐条显示
例:dir c:\windows | more
12、move 移动文件
格式:move 文件名 目录, 例: move d:\log.txt d:\temp
13、xcopy 复制文件,当复制大量文件时,效率比copy高,详细用法见百度
14、help 帮助
help cd 与 cd /? 等价
15、attrib 设置文件属性
16、date / time 显示或设置日期,直接键入回车忽略设置
17、prompt 自定义命令提示符
18、set 设置环境变量
19、ver 查看dos版本
20、tree 查看目录树
21、ping 查看网络连接情况
22、netstat 查看端口占用情况
例:netstat -ano | findstr 5501
23、tasklist 查看进程
例:tasklist | findstr 5562
批处理:参见BAT 批处理脚本 教程
注意事项:
1、find与findstr的区别是,find需加双引号,而findstr可有可无
2、实现循环有两种方式:for语句与goto语句,使用goto语句的好处是没有变量延迟的问题,使用goto可实现高级语言中的while的功能
3、bat文件的变量(包括在子程序中)均为全局变量,因此调用子程序时变量的返回有两种方式(高级语言与全局变量)
4、set的用法
1、参考系统变量
如 set (查看所有系统变量);set p (查看以p开头的系统变量);set path (查看系统变量path);
注意:类似set path=c:,只是对系统变量的暂时修改,在其他cmd窗口或新打开cmd窗口中,系统变量依然为原值
2、定义用户变量, 如set var=abc
3、数字计算
set var+=1
set /a 中可以使用的运算符:-=、+=、*、%%(求余),详细参考帮助
4、读取用户输入,如
set /p var=请输入参数:
echo %var%
5、在DOS环境下,可执行文件的优先级由高到低依次为.com>.exe>.bat>.cmd,即如果在同一目录下存在文件名相同的这四类文件,当只键入文件名时,DOS执行的是name.com,如果需要执行其他三个文件,则必须指定文件的全名,如name.bat。
6、一种写法:set /p a=■<nul,自动完成输入
一个较常见的实例:

@echo off mode con cols=113 lines=15 &color 9f cls echo. echo 程序正在初始化. . . echo. echo ┌──────────────────────────────────────┐ set/p a=■<nul for /L %%i in (1 1 38) do set /p a=■<nul&ping /n 1 127.0.0.1>nul echo 100%% echo └──────────────────────────────────────┘ pause
7、输出特殊字符如</>/&,需要转义(^),如echo ^&;输出%,需要如echo %%
8、%str:m,n%指截取字符串
常用命令:
1、删除指定目录下的文件:
@echo off for /r D:\"Web Site"\WFC %%i in (*.cs) do if exist %%i echo %%i & del "%%i"
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步