在前面“windows bat 批处理脚本编写指南”文章中,比较系统地介绍了如何编写windows bat 批处理脚本,本文将介绍bat脚本中常用命令及部分DOS内外部命令使用方法,基本思路如下:
了解dos命令最简单、高效的办法就是查看其使用说明,所有dos命令几乎有统一的查看命令使用说明方法:命令 /?
比如 dir 查看目录及文件命令,cmd 命令框输入:dir /? 即可查看其使用说明,输出如下:
- E:\download>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]
- 指定要列出的驱动器、目录和/或文件。
-
- ...
-
- 可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)
- 来替代预先设定的开关。例如,/-W。
-
比如 copy 成功后会提示 “已复制 1 个文件。”,有时我们需要屏蔽copy成功的消息提示输出怎么办?> NUL
- rem vcopy.bat
- @echo off
- copy "%0" "%0"2
- copy "%0" "%0"3 > NUL
-
可以用help命令查看常见命令列表,如下:
- D:\zx_resource>help
-
- ASSOC 显示或修改文件扩展名关联。
- ATTRIB 显示或更改文件属性。
- BREAK 设置或清除扩展式 CTRL+C 检查。
- BCDEDIT 设置启动数据库中的属性以控制启动加载。
- CACLS 显示或修改文件的访问控制列表(ACL)。
- CALL 从另一个批处理程序调用这一个。
- CD 显示当前目录的名称或将其更改。
- CHCP 显示或设置活动代码页数。
- CHDIR 显示当前目录的名称或将其更改。
- CHKDSK 检查磁盘并显示状态报告。
- CHKNTFS 显示或修改启动时间磁盘检查。
- CLS 清除屏幕。
- CMD 打开另一个 Windows 命令解释程序窗口。
- COLOR 设置默认控制台前景和背景颜色。
- COMP 比较两个或两套文件的内容。
- COMPACT 显示或更改 NTFS 分区上文件的压缩。
- CONVERT 将 FAT 卷转换成 NTFS。您不能转换
- 当前驱动器。
- COPY 将至少一个文件复制到另一个位置。
- DATE 显示或设置日期。
- DEL 删除至少一个文件。
- DIR 显示一个目录中的文件和子目录。
- DISKCOMP 比较两个软盘的内容。
- DISKCOPY 将一个软盘的内容复制到另一个软盘。
- DISKPART 显示或配置磁盘分区属性。
- DOSKEY 编辑命令行、调用 Windows 命令并创建宏。
- DRIVERQUERY 显示当前设备驱动程序状态和属性。
- ECHO 显示消息,或将命令回显打开或关上。
- ENDLOCAL 结束批文件中环境更改的本地化。
- ERASE 删除一个或多个文件。
- EXIT 退出 CMD.EXE 程序(命令解释程序)。
- FC 比较两个文件或两个文件集并显示它们之间的不同。
- FIND 在一个或多个文件中搜索一个文本字符串。
- FINDSTR 在多个文件中搜索字符串。
- FOR 为一套文件中的每个文件运行一个指定的命令。
- FORMAT 格式化磁盘,以便跟 Windows 使用。
- FSUTIL 显示或配置文件系统的属性。
- FTYPE 显示或修改用在文件扩展名关联的文件类型。
- GOTO 将 Windows 命令解释程序指向批处理程序
- 中某个带标签的行。
- GPRESULT 显示机器或用户的组策略信息。
- GRAFTABL 启用 Windows 在图形模式显示扩展字符集。
- HELP 提供 Windows 命令的帮助信息。
- ICACLS 显示、修改、备份或还原文件和
- 目录的 ACL。
- IF 在批处理程序中执行有条件的处理过程。
- LABEL 创建、更改或删除磁盘的卷标。
- MD 创建一个目录。
- MKDIR 创建一个目录。
- MKLINK 创建符号链接和硬链接
- MODE 配置系统设备。
- MORE 逐屏显示输出。
- MOVE 将一个或多个文件从一个目录移动到另一个目录。
- OPENFILES 显示远程用户为了文件共享而打开的文件。
- PATH 为可执行文件显示或设置搜索路径。
- PAUSE 停止批处理文件的处理并显示信息。
- POPD 还原由 PUSHD 保存的当前目录上一次的值。
- PRINT 打印一个文本文件。
- PROMPT 改变 Windows 命令提示。
- PUSHD 保存当前目录,然后对其进行更改。
- RD 删除目录。
- RECOVER 从损坏的磁盘中恢复可读取的信息。
- REM 记录批处理文件或 CONFIG.SYS 中的注释。
- REN 重新命名文件。
- RENAME 重新命名文件。
- REPLACE 替换文件。
- RMDIR 删除目录。
- ROBOCOPY 复制文件和目录树的高级实用程序
- SET 显示、设置或删除 Windows 环境变量。
- SETLOCAL 开始用批文件改变环境的本地化。
- SC 显示或配置服务(后台处理)。
- SCHTASKS 安排命令和程序在一部计算机上按计划运行。
- SHIFT 调整批处理文件中可替换参数的位置。
- SHUTDOWN 让机器在本地或远程正确关闭。
- SORT 将输入排序。
- START 打开单独视窗运行指定程序或命令。
- SUBST 将驱动器号与路径关联。
- SYSTEMINFO 显示机器的具体的属性和配置。
- TASKLIST 显示包括服务的所有当前运行的任务。
- TASKKILL 终止正在运行的进程或应用程序。
- TIME 显示或设置系统时间。
- TITLE 设置 CMD.EXE 会话的窗口标题。
- TREE 以图形显示启动器或路径的目录结构。
- TYPE 显示文本文件的内容。
- VER 显示 Windows 的版本。
- VERIFY 告诉 Windows 验证文件是否正确写入磁盘。
- VOL 显示磁盘卷标和序列号。
- XCOPY 复制文件和目录树。
- WMIC 在交互命令外壳里显示 WMI 信息。
-
下述命令使用说明及案例,大部分都可以在上篇博文中找到,这儿只是简单列举:
- @echo off
- setlocal
- set v=Local Variable
- echo v=%v%
- endlocal
- set v=Local Var2
- echo v=%v%
-
- rem vmain.bat
- @echo off
- call vsub.bat aa bb
-
- rem vsub.bat
- @echo off
- echo %0 %1 %2
-
- D:\cmdtest\lianxi>vmain aa bb
- vsub.bat aa bb
-
- rem vshift.bat
- @echo off
- echo before shift, args: %*, arg1=%1
- shift
- echo after shift, args: %*, arg1=%1
-
- D:\cmdtest\lianxi>vshift aa bb cc
- before shift, args: aa bb cc, arg1=aa
- after shift, args: aa bb cc, arg1=bb
-
- @echo off & setlocal
-
- rem /c按键列表 /m提示内容 /d默认选择 /t等待秒数 /d 必须和 /t同时出现
- rem 5秒不输入,默认c
- choice /c abcd /m "请输入" /d c /t 5
-
- rem 用户选择的结果会按项目序号数字(从1开始)返回在errorlevel变量中
- if %errorlevel%==1 echo 你选择了a
- if %errorlevel%==2 echo 你选择了b
- if %errorlevel%==3 echo 你选择了c
- if %errorlevel%==4 echo 你选择了d
-
1). find
使用说明:
- 在文件中搜索字符串。
- FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
-
- /V 显示所有未包含指定字符串的行。
- /C 仅显示包含字符串的行数。
- /N 显示行号。
- /I 搜索字符串时忽略大小写。
- /OFF[LINE] 不要跳过具有脱机属性集的文件。
- "string" 指定要搜索的文本字符串。
- [drive:][path]filename
- 指定要搜索的文件。
- 如果没有指定路径,FIND 将搜索在提示符处键入
- 的文本或者由另一命令产生的文本。
-
案例:
vfind_data.txt
- Hello, Marcus!
- hello, marcus!
- Please say hello
-
-
- rem vfind.bat
- @echo off & setlocal
- rem vfind_data.txt中查找包含Hello字符串的行,区分大小写
- find "Hello" vfind_data.txt
-
- rem vfind_data.txt中查找包含Hello字符串的行,不区分大小写
- find /i "hello" vfind_data.txt
-
- rem vfind_data.txt中查找不包含please字符串的行,不区分大小写
- find /v /i "please" vfind_data.txt
-
- rem 字符串作为输入,查找该字符串中是否包含“hello”
- echo Hello, marcus! | find /i "hello"
-
2). findstr,find命令加强版(除 /C 只显示匹配到的行数,其它都可实现),支持正则表达式
使用说明:
- FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
- [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
- strings [[drive:][path]filename[ ...]]
-
- /B 在一行的开始配对模式。
- /E 在一行的结尾配对模式。
- /L 按字使用搜索字符串。
- /R 将搜索字符串作为一般表达式使用。
- /S 在当前目录和所有子目录中搜索匹配文件。
- /I 指定搜索不分大小写。
- /X 打印完全匹配的行。
- /V 只打印不包含匹配的行。
- /N 在匹配的每行前打印行数。
- /M 如果文件含有匹配项,只打印其文件名。
- /O 在每个匹配行前打印字符偏移量。
- /P 忽略有不可打印字符的文件。
- /OFF[LINE] 不跳过带有脱机属性集的文件。
- /A:attr 指定有十六进位数字的颜色属性。请见 "color /?"
- /F:file 从指定文件读文件列表 (/ 代表控制台)。
- /C:string 使用指定字符串作为文字搜索字符串。
- /G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。
- /D:dir 查找以分号为分隔符的目录列表
- strings 要查找的文字。
- [drive:][path]filename
- 指定要查找的文件。
-
- 除非参数有 /C 前缀,请使用空格隔开搜索字符串。
- 例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或
- "there"。'FINDSTR /C:"hello there" x.y' 文件 x.y 寻找
- "hello there"。
-
- 一般表达式的快速参考:
- . 通配符: 任何字符
- * 重复: 以前字符或类出现零或零以上次数
- ^ 行位置: 行的开始
- $ 行位置: 行的终点
- [class] 字符类: 任何在字符集中的字符
- [^class] 补字符类: 任何不在字符集中的字符
- [x-y] 范围: 在指定范围内的任何字符
- \x Escape: 元字符 x 的文字用法
- \<xyz 字位置: 字的开始
- xyz\> 字位置: 字的结束
-
- 有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。
-
案例:
- @echo off & setlocal
- rem 查找文件vfind_data.txt中包含Hello字符串的行,区分大小写
- findstr "Hello" vfind_data.txt
-
- rem 查找hello开头的行,不区分大小写;数字比较请排除双引号、空格干扰
- findstr /i "^hello" vfind_data.txt
-
- rem 查找hello结尾的行,不区分大小写;数字比较请排除双引号、空格干扰
- rem 文件最后一行若不是空白行,则最后一行hello$ 匹配不到,字符串查找时hello$也匹配不到
- findstr /i "hello$" vfind_data.txt
-
- echo Hello, marcus! | findstr /i "hello"
-
- rem 找到输出found,没找到输出not found
- echo Hello, marcus! | findstr /i "hello" > nul && (echo found) || (echo not found)
-
3). sort,排序
使用说明:
- SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes]
- [[drive1:][path1]filename1] [/T [drive2:][path2]]
- [/O [drive3:][path3]filename3]
- /+n 指定开始每个比较的字符号码 n。/+3 说明每个
- 比较应从每行的第三个字符开始。少于 n 个字符
- 的行排在其他行之前。按默认值,从每行的第一
- 个字符开始比较。
- /L[OCALE] locale 用指定的区域设置替代系统默认区域设置。
- ""C"" 区域设置产生最快的排序顺序并且是当前
- 的唯一其他选择。排序总是不分大小写的。
- /M[EMORY] kilobytes 指定用于排序的主内存量,单位为 KB。
- 最小内存量总是 160 KB。如果指定内存大小,
- 无论主内存的可用量是多少,指定的内存量会
- 全部用于排序。
-
- 要取得最佳性能,通常不指定内存大小。按默认
- 值,如果达到默认最大内存值,排序会一次完成
- (非临时文件);否则,排序会分两次完成(没有
- 完全排序的数据存储在临时文件中);用于排序
- 和合并的内存量相等。如果输入和输出都是文
- 件,默认最大内存量为可用主内存的 90%;
- 否则,为主内存的 45%。
- /REC[ORD_MAXIMUM] characters 指定记录中的最大字符数量
- (默认值为 4096,最大值为 65535)。
- /R[EVERSE] 颠倒排序顺序,即,从 Z 到 A,再从 9 到 0。
- [drive1:][path1]filename1 指定要排序的文件。如果没有指定,则排序标准
- 输入。指定输入文件比将同一个文件重定向为标
- 准输入快。
- /T[EMPORARY]
- [drive2:][path2] 指定保留排序工作存储的目录路径,以防主内
- 存无法容纳数据。默认值是使用系统临时目录。
- /O[UTPUT]
- [drive3:][path3]filename3 指定在哪个文件中储存经过排序的输入。
- 如果没有指定,数据会被写入标准输出。指定
- 输出文件比将标准输出重定向到同一个文件快。在这里插入代码片
-
案例:
- @echo off & setlocal
- rem 默认排序,按a-z排序
- sort vfind_data.txt
-
- rem 倒序
- sort /r vfind_data.txt
-
- rem 按第二个字母排序
- sort /+2 vfind_data.txt
-
1)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 解析点 - 表示“否”的前缀
- /B 使用空格式(没有标题信息或摘要)。
- /C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
- 禁用分隔符显示。
- /D 跟宽式相同,但文件是按栏分类列出的。
- /L 用小写。
- /N 新的长列表格式,其中文件名在最右边。
- /O 用分类顺序列出文件。
- 排列顺序 N 按名称(字母顺序) S 按大小(从小到大)
- E 按扩展名(字母顺序) D 按日期/时间(从先到后)
- G 组目录优先 - 反转顺序的前缀
- /P 在每个信息屏幕后暂停。
- /Q 显示文件所有者。
- /R 显示文件的备用数据流。
- /S 显示指定目录和所有子目录中的文件。
- /T 控制显示或用来分类的时间字符域。
- 时间段 C 创建时间
- A 上次访问时间
- W 上次写入的时间
- /W 用宽列表格式。
- /X 显示为非 8.3 文件名产生的短名称。格式是 /N 的格式,
- 短名称插在长名称前面。如果没有短名称,在其位置则
- 显示空白。
- /4 用四位数字显示年
-
- 可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)
- 来替代预先设定的开关。例如,/-W。
-
案例:
- rem vdir.bat
- @echo off & setlocal
-
- rem 列出目录下所有bat文件的文件名
- dir *.bat /b
-
- rem 列出目录下所有bat文件的文件完整路径
- dir *.bat /b/s
-
- rem 列出所有子目录下文件数量、大小
- dir /s d:\download
-
- rem 列出当前目录下隐藏目录、文件
- dir /ah
-
2)md,mkdir,创建目录
语法说明:
- MKDIR [drive:]path
- MD [drive:]path
- md a 当前目录下创建a目录,若a目录已存在会报错
- md /a/b/c 相当于创建了a目录,a目录下创建了b目录,b目录下创建了c目录
-
3)rd,rmdir,删除目录
语法说明:
- RMDIR [/S] [/Q] [drive:]path
- RD [/S] [/Q] [drive:]path
-
- /S 除目录本身外,还将删除指定目录下的所有子目录和
- 文件。用于删除目录树。
-
- /Q 安静模式,带 /S 删除目录树时不要求确认
- ----------------------------------------------
- rd a a非空不能删除,下面有b/C
- rd a /s 递归删除,Y/N 是否删除提示?
- rd a /s /q 静默递归删除
-
3)pushd,popd,切换当前目录
每次使用 pushd 命令时,都存储一个目录供用户使用。目录按顺序储存到一个虚拟堆栈中。如果第一次使用 pushd 命令,该命令所在的目录就会被置于栈底。如果您再次使用该命令,则第二个目录就会被置于第一个目录之上。每次使用 pushd 命令时都将重复该过程。
可以用 popd 命令将当前目录更改为由 pushd 命令最新存储的目录。如果使用 popd 命令,位于堆栈顶端的目录将从堆栈中删除,当前目录转变为栈顶目录。如果再次使用 popd 命令,则删除堆栈中的下一个目录。
- 保存当前目录以供 POPD 命令使用,然后改到指定的目录。
- PUSHD [path | ..]
- path 指定要成为当前目录的目录。
-
- 如果命令扩展被启用,除了一般驱动器号和路径,PUSHD命令还接受网络路径。如果指定了网络
- 路径,PUSHD 将创建一个指向指定网络资源的临时驱动器号,然后再用刚定义的驱动器号更改当
- 前的驱动器和目录。可以从 Z: 往下分配临时驱动器号,使用找到的第一个没有用过的驱动器号。
- ------------------------------------
- 更改到 PUSHD 命令存储的目录。
- POPD
- 如果命令扩展被启用,从推目录堆栈 POPD 驱动器时,POPD命令会删除 PUSHD 创建的临时驱动
- 器号。
-
案例:
- rem d:\cmdtest\lianxi\vdir.bat
- rem 设置当前目录为脚本所在目录,即d:\cmdtest\lianxi
- pushd %~dp0
- dir
-
- rem 设置当前目录为脚本所在目录下的data目录,即d:\cmdtest\lianxi\data
- pushd "%~dp0data"
- dir
-
- rem 返回到d:\cmdtest\lianxi
- popd
- dir
-
- rem 返回到当前目录
- popd
- dir
-
4)tree,显示目录结构
使用说明:
- 以图形显示驱动器或路径的文件夹结构。
- TREE [drive:][path] [/F] [/A]
-
- /F 显示每个文件夹中文件的名称。
- /A 使用 ASCII 字符,而不使用扩展字符。
- ---------------------------
- tree 显示当前目录,目录树
- tree /F 显示当前目录,目录树,包括文件列表
-
1)>,>> 重定向创建文件
> 重新生成文件,>> 原文件已存在则添加内容,不然新建文件并写入内容
案例说明:
- rem 字符串adfsaf输出到echo.txt
- echo adfsaf > echo.txt
-
- rem 目录树输出到tree.txt文件
- tree > tree.txt
-
- rem 创建一个空白文件
- cd .> empty.txt
-
2)copy,xcopy 文件复制
copy只能复制文件,xcopy可以复制文件夹和文件
- REM lianxi\data目录复制到 当前目录data下
- xcopy lianxi\data .\data\
-
- rem 复制成功提示信息输出到nul,不在stdout上显示
- xcopy lianxi\data .\data\ > nul
-
3)del, ERASE 文件删除
del, ERASE 是SB命令,删除时没有任何提示,除非加/p参数,如:del /p file 才会yes/no确认,因此这两个是危害性很大的命令,需谨慎使用。
- 删除一个或数个文件。
- DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
- ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
-
- names 指定一个或多个文件或者目录列表。
- 通配符可用来删除多个文件。
- 如果指定了一个目录,该目录中的所
- 有文件都会被删除。
-
- /P 删除每一个文件之前提示确认。
- /F 强制删除只读文件。
- /S 删除所有子目录中的指定的文件。
- /Q 安静模式。删除全局通配符时,不要求确认
- /A 根据属性选择要删除的文件
- 属性 R 只读文件 S 系统文件
- H 隐藏文件 A 存档文件
- I 无内容索引文件 L 重分析点
- -------------------------------------
- rem 删除file.txt
- del file.txt
-
- rem 删除file.txt,会有yes|no确认
- del /p file.txt
-
- rem 删除所有txt文件
- del *.txt
-
4)type,more,文件内容查看
- 显示文本文件的内容。
- TYPE [drive:][path]filename
- ----------------------------
- type aa.txt
-
- 逐屏显示输出。
- MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
- command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
- MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]
-
- [drive:][path]filename 指定要逐屏显示的文件。
- command-name 指定要显示其输出的命令。
-
- /E 启用扩展功能
- /C 显示页面前先清除屏幕
- /P 扩展 FormFeed 字符
- /S 将多个空白行缩成一行
- /Tn 将制表符扩展为 n 个空格(默认值为 8)
-
- 开关可以出现在 MORE 环境变量中。
- +n 从第 n 行开始显示第一个文件
-
- files 要显示的文件列表。使用空格分隔列表中的文件。
- 如果已启用扩展功能,则在 -- More -- 提示处 接受下列命令:
- P n 显示下 n 行
- S n 跳过下 n 行
- F 显示下个文件
- Q 退出
- = 显示行号
- ? 显示帮助行
- <space> 显示下一页
- <ret> 显示下一行
- -------------------------------
- rem 分屏显示文件内容
- more aa.txt
-
- rem 从100行开始显示
- more +100 aa.txt
-
- rem tree树形目录结果分屏显示
- tree /f | more
-
5)ren,文件或目录重命名
ren 文件1 文件2
ren 目录1 目录2
6)comp,比较文件内容是否一致
使用说明:
- 比较两个文件或两个文件集的内容。
- COMP [data1] [data2] [/D] [/A] [/L] [/N=number] [/C] [/OFF[LINE]]
-
- data1 指定要比较的第一个文件的位置和名称。
- data2 指定要比较的第二个文件的位置和名称。
- /D 以十进制格式显示差异。
- /A 以 ASCII 字符显示差异。
- /L 显示不同的行数。
- /N=number 只比较每个文件中第一个指定的行数。
- /C 比较文件时 ASCII 字母不区分大小写。
- /OFF[LINE] 不要跳过带有脱机属性集的文件。
-
- 要比较文件集,请在 data1 和 data2 参数中使用通配符。
- ---------------------------
- comp file1.txt file2.txt
-
7)ATTRIB,显示或更改文件属性
- 显示或更改文件属性。
- ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I]
- [drive:][path][filename] [/S [/D] [/L]]
- + 设置属性。
- - 清除属性。
- R 只读文件属性。
- A 存档文件属性。
- S 系统文件属性。
- H 隐藏文件属性。
- I 无内容索引文件属性。
- [drive:][path][filename]
- 指定 attrib 要处理的文件。
- /S 处理当前文件夹及其所有子文件夹中的匹配文件。
- /D 也处理文件夹。
- /L 处理符号链接和符号链接目标的属性。
- -------------------------------------------------
- rem 查看当前目录下的文件属性
- attrib
-
- rem 隐藏文件夹data
- attrib +s +h data
-
- rem 取消隐藏文件夹
- attrib -s -h data
-
8)assoc, ftype 文件关联
windows文件关联原理,比如readme.doc为例:
1)先查找.doc对应的文件类型,用assoc .doc 可以实现
2)再根据上一步得到的文件类型,找该类型对应的可执行文件,用ftype 文件类型可以实现
- rem .doc=Word.Document.8
- assoc .doc
-
- rem Word.Document.8="C:\Program Files\Office2007\OFFICE12\WINWORD.EXE" "%1"
- ftype Word.Document.8
-
比如*.txt文件默认word打开,我们可以文件关联设置为,.txt=Word.Document.8即可
- rem 先查看.txt对应的文件类型,.txt=txtfile
- assoc .txt
-
- rem .txt对应的文件类型设置为word文档,设置后txt默认用word打开
- assoc .txt=Word.Document.8
-
- rem .txt对应的文件类型重新设置为txtfile,即默认用记事本打开
- assoc .txt=txtfile
-
1)ipconfig,IP查看
使用说明:
- 用法:
- ipconfig [/allcompartments] [/? | /all |
- /renew [adapter] | /release [adapter] |
- /renew6 [adapter] | /release6 [adapter] |
- /flushdns | /displaydns | /registerdns |
- /showclassid adapter |
- /setclassid adapter [classid] |
- /showclassid6 adapter |
- /setclassid6 adapter [classid] ]
-
- 其中
- adapter 连接名称 (允许使用通配符 * 和 ?,参见示例)
- 选项:
- /? 显示此帮助消息
- /all 显示完整配置信息。
- /release 释放指定适配器的 IPv4 地址。
- /release6 释放指定适配器的 IPv6 地址。
- /renew 更新指定适配器的 IPv4 地址。
- /renew6 更新指定适配器的 IPv6 地址。
- /flushdns 清除 DNS 解析程序缓存。
- /registerdns 刷新所有 DHCP 租约并重新注册 DNS 名称
- /displaydns 显示 DNS 解析程序缓存的内容。
- /showclassid 显示适配器的所有允许的 DHCP 类 ID。
- /setclassid 修改 DHCP 类 ID。
- /showclassid6 显示适配器允许的所有 IPv6 DHCP 类 ID。
- /setclassid6 修改 IPv6 DHCP 类 ID。
-
- 默认情况下,仅显示绑定到 TCP/IP 的适配器的 IP 地址、子网掩码和默认网关。
- 对于 Release 和 Renew,如果未指定适配器名称,则会释放或更新所有绑定
- 到 TCP/IP 的适配器的 IP 地址租约。
-
- 对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除 ClassId。
- 示例:
- > ipconfig ... 显示信息
- > ipconfig /all ... 显示详细信息
- > ipconfig /renew ... 更新所有适配器
- > ipconfig /renew EL* ... 更新所有名称以 EL 开头的连接
- > ipconfig /release *Con* ... 释放所有匹配的连接,
- 例如 "Local Area Connection 1" 或
- "Local Area Connection 2"
- > ipconfig /allcompartments ... 显示有关所有分段的信息
- > ipconfig /allcompartments /all ... 显示有关所有分段的详细信息
- --------------------------------------------
- 最常用的莫过于:
- ipconfig 查看IP地址
- ipconfig /all 查看IP地址,MAC地址
-
2)ping,测试IP网络可达性、网络响应速度
- rem baidu是否可访问,网速测试
- ping www.baidu.com
-
- rem 脚本执行等候5秒
- ping /n 5 127.1>nul
-
1)shutdown,关机、重启
- 60秒后自动关机:shutdown -s -t 60
- 取消自动关机:shutdown -a
- 立刻重启:shutdowm -r -t 0
- 60秒后自动休眠:shutdowm -h -t 60
-
2)explorer:调用资源管理器
- rem 打开浏览器,并访问http://www.baidu.com
- explorer "http://www.baidu.com"
-
- rem 打开文件目录,定位到d:
- explorer d:
-
3)start:打开文件夹,启动文件
- rem 同explorer d:
- start d:
-
- 开启一个cmd命令框
- start cmd
-
4)ver:显示操作系统版本号
- rem Microsoft Windows [版本 6.1.7601]
- ver
-
5)hostname:显示计算机名称
- rem PC-20190618KZQB
- hostname
-
6)net user:用户列表
更多其它命令,比如:format, fdisk, chkdisk等,大家可以参考https://www.cdsy.xyz/docs/dos/