BAT 批处理 常用命令


目录

常用命令

参考:批处理命令

查看某一命令的帮助文档的方式,例如:

bash
date /?
date /? > date_help.txt

常用命令

echo

显示消息,或者启用或关闭命令回显

bash
echo on
:: 打开回显(默认状态),打开后每个命令将显示执行

echo off
:: 关闭回显,echo off 并不会关闭 echo 命令本身的回显
  • 如果输出信息中有特殊符号,输出信息就要加上双引号"
  • 如果想连续打印很多行,可使用&符号
  • 可以将信息直接输出到文件中,格式为echo 信息 > 文件

find

Find命令用于在文件或输入中搜索字符串,输出匹配的行

bash
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

/V         显示所有未包含指定字符串的行
/C         仅显示包含字符串的行数
/N         显示行号
/I         搜索字符串时忽略大小写
/OFF[LINE] 不要跳过具有脱机属性集的文件
bash
FIND "baiqiantao" test.txt
FIND /c "baiqiantao" test.txt
FIND /v /n /i "baiqiantao" test.txt

goto

cmd.exe定向到批处理程序中带标签的行

GOTO label或GOTO :label均可。标签必须单独一行,并且以冒号打头

start

启动一个单独的窗口以运行指定的程序或命令。

bash
start notepad.exe
start D:\test

call

从批处理程序调用另一个批处理程序

bash
CALL [drive:][path]filename [batch-parameters]

pause

暂停批处理程序,并显示以下消息

bash
请按任意键继续. . .

环境相关

set

显示、设置或删除当前系统上的环境变量

bash
set
set JAVA
SET key=value

reg

批处理注册表查询、添加、修改(也是add)、删除等操作,参考:批处理注册表

bash
REG Operation [Parameter List]

Operation [QUERY | ADD | DELETE | COPY | SAVE | LOAD  | UNLOAD  | RESTORE | COMPARE | EXPORT | IMPORT  | FLAGS ]
bash
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
bash
:: 默认开启数字键盘,需要管理员权限
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%包括在新的路径设置中会将旧路径附加到新设置
bash
PATH

shutdown

开关特别多

  • 没有参数时显示帮助。这与键入 /? 是一样的
  • /s:关闭计算机
  • /f:强制关闭正在运行的应用程序而不事先警告用户
  • /t:将关闭前的超时时间设置为 xxx 秒,默认值为 30。如果超时时间大于 0,则默示为/f参数
  • /a:中止系统关闭。这只能在超时期间使用。
  • /r:完全关闭并重启计算机
  • /h:休眠本地计算机。可以与/f选项一起使用
bash
shutdown -s -t 300   %300s 后自动关机%
shutdown -a          %取消自动关机%
shutdown -r -t 0     %立刻重启%
shutdown -h -t 60    %60s后休眠%

ipconfig

ipconfig命令用于显示Windows IP配置,显示连接的配置和连接的名称

bash
ipconfig

ping

ping命令用于通过网络将ICMP/IP“回显”数据包发送到指定的地址

bash
ping www.baidu.com

date 和 time

显示或设置日期、时间。

bash
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%
bash
周四 2020/06/18 1:08:07.76
周四 2_20_06_/18
 1_08_07

文件操作

type

显示文本文件的内容

bash
Type test.txt info.json

del

del命令用来删除一个或多个文件(只能删除文件,无法删除目录)

  • 可以指定一个或多个文件或者目录,可以使用通配符来删除多个文件
  • 如果指定了一个文件,则会直接删除此文件
  • 如果指定了一个目录,该会删除目录中的所有文件(不递归),但不会删除目录本身
bash
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

/P            删除每一个文件之前提示确认
/F            强制删除只读文件
/S            删除所有子目录中的指定的文件(递归)
/Q            安静模式。删除全局通配符时,不要求确认
/A            根据属性选择要删除的文件

属性:R 只读文件  S 系统文件  H 隐藏文件  A 准备存档的文件 I 无内容索引文件  L 重新分析点  O 脱机文件
- 表示“否”的前缀
bash
DEL 1.txt %直接删除文件,不经用户确认%
DEL /p 2.txt %删除文件前需经用户确认%
DEL folderName %删除文件夹需要确认,会删除文件夹中的所有文件(不递归),但不会删除文件夹本身%
DEL /s *.txt %递归删除所有文件%

ren

Ren命令用来重命名文件和目录

bash
ren C:\lists.txt C:\newlists.txt

move

Move命令用于移动文件并重命名文件和目录

bash
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命令用于将文件从一个位置复制到另一个位置

bash
将一份或多份文件复制到另一个位置。
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           如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件
bash
copy from.txt to.txt

attrib

显示或更改文件属性

  • + 设置属性
  • - 清除属性
  • R 只读文件属性【重要】
  • A 存档文件属性【重要】
  • S 系统文件属性【重要】
  • H 隐藏文件属性【重要】
  • O 脱机属性
  • I 无内容索引文件属性
  • X 无清理文件属性
  • V 完整性属性
  • P 固定属性
  • U 非固定属性
  • /S 处理当前文件夹及其所有子文件夹中的匹配文件
  • /D 也处理文件夹
  • /L 处理符号链接和符号链接目标的属性
  • [drive:][path][filename] 指定属性要处理的文件
bash
attrib +s +h D:\Secret   %隐藏文件夹%
attrib -s -h D:\Secret   %取消隐藏文件夹%

目录操作

md

Md(或MKDIR)命令在当前位置创建一个新目录

bash
md newdir\subdir
mkdir a\b\c\d

rd

Rd(或RMDIR)命令用来删除目录(只能删除目录,不能删除文件)

bash
RD [/S] [/Q] [drive:]path
/S      除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。
/Q      安静模式,带 /S 删除目录树时不要求确认
bash
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 字符,而不使用扩展字符
bash
tree
tree /f

dir

显示目录中的文件和子目录列表

bash
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

bash
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

比较两个文件或两个文件集并显示它们之间的不同

posted @ 2023-09-13 16:34  SymPny  阅读(124)  评论(0编辑  收藏  举报