批处理
@echo off for /f %%a in ('dir /s /b /ad *.vs') do ( echo 正在删除 %%a rd /s /q %%a ) echo 删除完成 pause
原 理 在 下 方
↓↓↓↓↓↓↓↓↓↓↓↓
基础操作
pause
暂停脚本的执行。
%
%var表示传递参数%var%表示引用参数
基本算数运算
@echo off set /a var = 1 + 2 echo %var% pause
重定向
>覆盖原内容向a.txt文件中覆写”hello”字符串
@echo off echo hello > a.txt pause>>不覆盖原内向a.txt文件中添加”hello”字符串
@echo off echo hello >> a.txt pause
|
管道:将左侧输出作为右侧输入。
find
寻找后缀为txt的文件。
find "*.txt"
/?
查询帮助手册。
dir /?
rem
注释
DOS命令
echo
- ECHO [message] 显示消息
- ECHO [ON | OFF] 启用或关闭命令回显
dir
命令格式:
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:] [path] [filename] 指定要列出的驱动器、目录或文件。
| 参数 | 含义 |
|---|---|
| /A | 显示具有指定属性的文件。 D 目录 R 只读文件 H 隐藏文件 A 准备存档的文件 S 系统文件 I 无内容索引文件 L 重新分析点 O 脱机文件 – 表示“否”的前缀 |
| /B | 使用空格式(没有标题信息或摘要)。 |
| /C | 在文件大小中显示千位数分隔符(默认选项) |
| /D | 跟宽式相同,但文件是按栏分类列出的。 |
| /L | 用小写。 |
| /N | 新的长列表格式,其中文件名在最右边。 |
| /O | 用分类顺序列出文件。 N 按名称(字母顺序) S 按大小(从小到大) E 按扩展名(字母顺序) D 按日期/时间(从先到后) G 组目录优先 – 反转顺序的前缀 |
| /P | 在每个信息屏幕后暂停。 |
| /Q | 显示文件所有者。 |
| /R | 显示文件的备用数据流。 |
| /S | 显示指定目录和所有子目录中的文件。 |
| /T | 控制显示或用来分类的时间字符域 C 创建时间 A 上次访问时间 W 上次写入的时间 |
| /W | 用宽列表格式。 |
| /X | 显示为非 8dot3 文件名产生的短名称。 |
| /4 | 以四位数字显示年份 |
示例:
rem 查看 当前目录及其所有子目录下的 无标题信息及摘要的 名为foldername的 目录 rem !!!注 意 foldername 前 的 * !!! dir /s /b /ad *foldername
mkdir/md
创建目录(文件夹)。
MKDIR [drive:]path MD [drive:]path
rmdir/rd
删除目录(文件夹)。
RMDIR [/S] [/Q] [drive:]path RD [/S] [/Q] [drive:]path
| 参数 | 含义 |
|---|---|
| /S | 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。 |
| /Q | 安静模式,带 /S 删除目录树时不要求确认 |
del
删除一个或多个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
| 参数 | 含义 |
|---|---|
| names | 指定一个或多个文件或者目录列表。通配符可用来删除多个文件。 如果指定了一个目录,该目录中的所有文件都会被删除。 |
| /P | 删除每一个文件之前提示确认。 |
| /F | 强制删除只读文件。 |
| /S | 删除所有子目录中的指定的文件。 |
| /Q | 安静模式。删除全局通配符时,不要求确认 |
| /A | 根据属性选择要删除的文件 |
if
IF string1==string2 command判断字符串是否相等IF EXIST filename command判断文件是否存在
for
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN (set) DO command [command-parameters]
| 标志 | 含义 |
|---|---|
| %variable | 指定一个单一字母可替换的参数。指定变量请使用 %%variable而不要用 %variable。 变量名称是区分大小写的。 |
| (set) | 指定一个或一组文件。可以使用通配符。 |
| command | 指定对每个文件执行的命令。 |
| command-parameters | 为特定命令指定参数或命令行开关。 |
如果启用命令扩展,则会支持下列 FOR 命令的其他格式:
FOR /D %variable IN (set) DO command [command-parameters] rem 如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。 FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] rem 检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。 FOR /F ["options"] %variable IN ('command') DO command [command-parameters] rem 打开集中的项目(可以是命令执行后的输出),将结果保存在%variable中。
示例:删除当前目录及其子目录下的所有.vs文件夹
@echo off for /f %%a in ('dir /s /b /ad *.vs') do ( echo 正在删除 %%a rd /s /q %%a ) echo 删除完成 pause
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200961.html原文链接:https://javaforall.net
