2025年3月22日 星期六 甲辰(龙)年 月廿一 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > DOS/BAT与(脚本)

windows BAT 批处理常见命令解析

时间:04-14来源:作者:点击数:73

在前面“windows bat 批处理脚本编写指南”文章中,比较系统地介绍了如何编写windows bat 批处理脚本,本文将介绍bat脚本中常用命令及部分DOS内外部命令使用方法,基本思路如下:

  • 将命令分成bat脚本使用的常见命令(如:set、echo等)和dos内外部命令(如:dir、copy等)
  • dos内外部命令按功能进行分类,比如:操作目录、文件的,字符串查找的,网络相关的等
一、DOS命令基本知识
1、如何查看命令使用说明

了解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。
2、命令组合
  • cmd1 & cmd2 & cmd3,顺序执行cmd1、cmd2、cmd3,不管前个命令执行是否出错
  • cmd1 && cmd2 && cmd3,顺序执行cmd1、cmd2、cmd3,cmd1执行出错则cmd2不会继续执行
  • cmd1 || cmd2,cmd1执行失败才会执行cmd2
3、屏蔽命令输出

比如 copy 成功后会提示 “已复制 1 个文件。”,有时我们需要屏蔽copy成功的消息提示输出怎么办?> NUL

  • rem vcopy.bat
  • @echo off
  • copy "%0" "%0"2
  • copy "%0" "%0"3 > NUL
4、windows常见命令列表

可以用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 信息。
二、Bat脚本文件中经常使用的命令

下述命令使用说明及案例,大部分都可以在上篇博文中找到,这儿只是简单列举:

  1. Echo,输出或回显,如:echo Hello World!
  2. cls,清屏
  3. set,获取所有变量,变量设置
  4. Setlocal、Endlocal,设置为local变量,结束局部变量,v=Local Var2由于在endlocal后赋值的变量,其不再是local变量而是全局变量
  • @echo off
  • setlocal
  • set v=Local Variable
  • echo v=%v%
  • endlocal
  • set v=Local Var2
  • echo v=%v%
  1. For,for 循环
  2. if … else …,条件选择
  3. title、color,设置标题和颜色
  4. Call,调用另外一个bat脚本,demo如下:
  • 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
  1. Shift,参数前移,比如:shift,则第二个参数替换第一个参数,依次类推
  • 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
  1. choice:从选择列表选择一个项目并返回所选项目的索引
  • @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. Rem、::,都是注释
  2. Pause,程序暂停,按任意键继续
  3. GOTO,跳转语句
  4. exit,程序退出,如:exit /b 0
三、DOS常见内外部命令
1. 字符串查找相关

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,再从 90
  • [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
2. 目录操作相关命令

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 显示当前目录,目录树,包括文件列表
3. 文件操作相关命令

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
5、网络操作相关命令

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
6、系统操作相关命令

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/

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门