BAT 批处理 常用命令
目录
目录
常用命令
查看某一命令的帮助文档的方式,例如:
date /? date /? > date_help.txt
常用命令
echo
显示消息,或者启用或关闭命令回显
echo on
:: 打开回显(默认状态),打开后每个命令将显示执行
echo off
:: 关闭回显,echo off 并不会关闭 echo 命令本身的回显
- 如果输出信息中有特殊符号,输出信息就要加上双引号
"
- 如果想连续打印很多行,可使用
&
符号 - 可以将信息直接输出到文件中,格式为
echo 信息 > 文件
find
Find
命令用于在文件或输入中搜索字符串,输出匹配的行
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V 显示所有未包含指定字符串的行
/C 仅显示包含字符串的行数
/N 显示行号
/I 搜索字符串时忽略大小写
/OFF[LINE] 不要跳过具有脱机属性集的文件
FIND "baiqiantao" test.txt
FIND /c "baiqiantao" test.txt
FIND /v /n /i "baiqiantao" test.txt
goto
将cmd.exe
定向到批处理程序中带标签的行
GOTO label
或GOTO :label均可。标签必须单独一行,并且以冒号打头
start
启动一个单独的窗口以运行指定的程序或命令。
start notepad.exe
start D:\test
call
从批处理程序调用另一个批处理程序
CALL [drive:][path]filename [batch-parameters]
pause
暂停批处理程序,并显示以下消息
请按任意键继续. . .
环境相关
set
显示、设置或删除当前系统上的环境变量
set
set JAVA
SET key=value
reg
批处理注册表查询、添加、修改(也是add)、删除等操作,参考:批处理注册表
REG Operation [Parameter List] Operation [QUERY | ADD | DELETE | COPY | SAVE | LOAD | UNLOAD | RESTORE | COMPARE | EXPORT | IMPORT | FLAGS ]
reg query HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8"
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8" /v JavaHome
:: 默认开启数字键盘,需要管理员权限
reg query "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /v InitialKeyboardIndicators
reg add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /v InitialKeyboardIndicators /d 2
reg query "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /v InitialKeyboardIndicators
path
为可执行文件显示或设置一个搜索路径
PATH
:显示当前路径PATH ;
:清除所有搜索路径设置并指示cmd.exe
只在当前目录中搜索- 将
%PATH%
包括在新的路径设置中会将旧路径附加到新设置
PATH
shutdown
开关特别多
- 没有参数时显示帮助。这与键入
/?
是一样的 /s
:关闭计算机/f
:强制关闭正在运行的应用程序而不事先警告用户/t
:将关闭前的超时时间设置为 xxx 秒,默认值为 30。如果超时时间大于 0,则默示为/f
参数/a
:中止系统关闭。这只能在超时期间使用。/r
:完全关闭并重启计算机/h
:休眠本地计算机。可以与/f
选项一起使用
shutdown -s -t 300 %300s 后自动关机% shutdown -a %取消自动关机% shutdown -r -t 0 %立刻重启% shutdown -h -t 60 %60s后休眠%
ipconfig
ipconfig
命令用于显示Windows IP
配置,显示连接的配置和连接的名称
ipconfig
ping
ping
命令用于通过网络将ICMP/IP
“回显”数据包发送到指定的地址
ping www.baidu.com
date 和 time
显示或设置日期、时间。
echo %DATE%%TIME%
echo %Date:~0,4%_%Date:~5,2%_%Date:~8,2%_%date:~-3%
echo %Time:~0,2%_%Time:~3,2%_%Time:~6,2%
周四 2020/06/18 1:08:07.76 周四 2_20_06_/18 1_08_07
文件操作
type
显示文本文件的内容
Type test.txt info.json
del
del
命令用来删除一个或多个文件
(只能删除文件,无法删除目录)
- 可以指定一个或多个
文件或者目录
,可以使用通配符来删除多个文件 - 如果指定了一个文件,则会直接删除此文件
- 如果指定了一个目录,该会删除目录中的所有文件(不递归),但不会删除目录本身
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names /P 删除每一个文件之前提示确认 /F 强制删除只读文件 /S 删除所有子目录中的指定的文件(递归) /Q 安静模式。删除全局通配符时,不要求确认 /A 根据属性选择要删除的文件 属性:R 只读文件 S 系统文件 H 隐藏文件 A 准备存档的文件 I 无内容索引文件 L 重新分析点 O 脱机文件 - 表示“否”的前缀
DEL 1.txt %直接删除文件,不经用户确认% DEL /p 2.txt %删除文件前需经用户确认% DEL folderName %删除文件夹需要确认,会删除文件夹中的所有文件(不递归),但不会删除文件夹本身% DEL /s *.txt %递归删除所有文件%
ren
Ren
命令用来重命名文件和目录
ren C:\lists.txt C:\newlists.txt
move
Move
命令用于移动文件并重命名文件和目录
move 1.txt d:\1.txt
move 2.txt d:\test\2.txt %如果目录不存在,则移动失败%
move 3.txt 1.txt %重命名,如果文件已存在,会提示是否覆盖%
move /Y 3.txt 1.txt %不提示,直接覆盖%
copy
COPY
命令用于将文件
从一个位置复制到另一个位置
将一份或多份文件复制到另一个位置。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B] [+ ...]] [destination [/A | /B]]
source 指定要复制的文件
/A 表示一个 ASCII 文本文件
/B 表示一个二进位文件
/D 允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名
/V 验证新文件写入是否正确
/N 复制带有非 8dot3 名称的文件时,尽可能使用短文件名
/Y 不使用确认是否要覆盖现有目标文件的提示
/-Y 使用确认是否要覆盖现有目标文件的提示
/Z 用可重新启动模式复制已联网的文件
/L 如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件
copy from.txt to.txt
attrib
显示或更改文件属性
+
设置属性-
清除属性R
只读文件属性【重要】A
存档文件属性【重要】S
系统文件属性【重要】H
隐藏文件属性【重要】O
脱机属性I
无内容索引文件属性X
无清理文件属性V
完整性属性P
固定属性U
非固定属性/S
处理当前文件夹及其所有子文件夹中的匹配文件/D
也处理文件夹/L
处理符号链接和符号链接目标的属性[drive:][path][filename]
指定属性要处理的文件
attrib +s +h D:\Secret %隐藏文件夹% attrib -s -h D:\Secret %取消隐藏文件夹%
目录操作
md
Md
(或MKDIR
)命令在当前位置创建一个新目录
md newdir\subdir mkdir a\b\c\d
rd
Rd
(或RMDIR
)命令用来删除目录
(只能删除目录,不能删除文件)
RD [/S] [/Q] [drive:]path /S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。 /Q 安静模式,带 /S 删除目录树时不要求确认
rd newdir %需要目录是空的(包括不能有子目录),才可以被删除%
rd /s d:\test %不论里面是否有文件或文件夹,一起删除。删除前确认%
rd /s /q d:\test //静默删除文件夹,删除前不用确认
cd
CD
(或CHDIR
)命令用于改变当前目录change directory
CD
:显示当前驱动器和目录cd ..
:回出到父目录CD
命令不把空格当作分隔符- 使用
/D
开关后,除了改变驱动器的当前目录之外,还可改变当前驱动器 %cd%
代表的是当前目录
tree
以图形显示驱动器或路径的文件夹结构
/F
:显示每个文件夹中文件的名称/A
:使用 ASCII 字符,而不使用扩展字符
tree tree /f
dir
显示目录中的文件和子目录列表
dir
dir *.txt %列出所有扩展名为.txt的文件%
dir C:\ > C:\lists.txt %将所有C:\目录列表重定向输出到文件lists.txt中%
dir .\test\*.mp3 /b>mp3file.txt %将当前目录下test文件夹下的所有mp3文件名输出到文件%
dir /s %递归列出所有目录和子目录%
dir /b %每行文件显示每个列出的文件或目录的完整路径%
dir /a %包括列表中的隐藏文件和系统文件%
dir /ah %仅列出隐藏的文件%
其他命令
explorer
explorer explorer d: explorer https://www.cnblogs.com/baiqiantao/ %拒绝访问%
prompt
更改 cmd.exe
命令提示符
提示符可以由普通字符及下列特殊代码组成:
$A
与号&
$B
坚线|
$C
左括号(
$D
当前日期$E
转义码(ASCII 码 27)$F
右括号)
$G
大于号>
$H
删除前一个字符Backspace
$L
小于号<
$N
当前驱动器$P
当前驱动器及路径$Q
等号=
$S
空格$T
当前时间$V
Windows版本号$_
回车换行符$$
美元符号$
xcopy
复制文件和目录树。开关特别多,具体功能自己看文档。
replace
替换文件
fc
比较两个文件或两个文件集并显示它们之间的不同