常见命令
WIndows命令行不区分大小写
获取帮助
在cmd中,在命令后输入/?
即可
1 | C:\Users\zerwa> echo /? |
echo
输出,类似于Log。
1 | echo on/off |
打开Log/关闭Log
使用
1 | @echo off (命令内容) pause |
来组合各种命令,不会让很多命令一个一个显示,这在后面的WIndows批处理会用到。
cd
cd是一个非常经典的命令,从DOS系统就有了,全称是“change directory”
进入到对应的文件夹下
1 | cd (path) |
如果不是在当前盘符,需要先执行
主盘符:
1 cd d:注意,就算进入了对应的文件夹,命令行的运行环境还是在
C:\Users\zerwa
中
进入上一级目录
1 | cd .. |
改变命令行运行环境,比如说进入D盘根目录,在进入前添加/d
即可
1 | cd /d d:\ |
进入E盘
1 | cd /d e:\ |
进入其他盘只需要直接输入盘符也可以(不输入cd),并且会自动进入上次进入其他盘时的子文件夹。
例如:
1 | D:\>e: |
直接进入其他盘符的命令等同于
cd /d d:
比如说
1
2 C:\Users\zerwa>d:
D:\>等同于
1
2 C:\Users\zerwa>cd /d d:
d:\>和上面的
cd /d d:\
一样
dir
cd到对应的盘或文件夹后,输入dir就能获取当前文件夹内所有的目录(不管是文件还是文件夹都会显示)以及基本信息。
1 | D:\>dir |
输入dir /b
,获取当前文件夹内所有的目录名称(不管是文件还是文件夹都会显示)
1 | D:\>dir /b |
输入dir /p
,分页显示当前文件夹内所有的目录(不管是文件还是文件夹都会显示)以及基本信息。
输入dir /ad
获取当前文件夹内所有文件夹的名称以及基本信息。
输入dir /a-d
获取当前文件夹内所有文件的名称以及基本信息。
输入dir (具体的文件名及拓展名)
获取具体的文件的信息
例如:
1 | D:\>dir ttt.txt |
输入dir (具体的文件夹名)
获取具体的文件子目录的信息
例如:
1 | D:>dir Games |
tree
将指定的文件夹内的所有内容按照树形图展示出来
例如:
1 | E:>tree e:\Work |
ren
ren就是“rename”将当前文件夹内指定的文件改名
1 | E:\Work>ren ttt.txt 测试.txt |
ren也可以将指定的文件夹内的文件改名
1 | E:\>ren E:\Work\测试.txt 测试2.txt |
md
md就是“make directory”,从当前目录创建文件夹
1 | E:\>md 测试文件夹 |
md也可以在指定的文件夹内创建文件夹
1 | E:\>md E:\Work\测试文件夹 |
rd
md就是“remove directory”,从当前目录删除空文件夹
1 | E:\>rd 测试文件夹 |
rd也可以在指定的文件夹内删除空文件夹
1 | E:\>rd E:\Work\测试文件夹 |
如果文件夹内不是空的,可以使用如下命令,完全删除
1 | E:\>rd 测试 |
在Jenkins打包过程中,肯定是不能自行输入”y”的,可以使用如下命令
1 | E:\>rd 测试 |
/q指的是”quite mode”,即安静模式,不需要提出Y/N请求。
copy
复制文件
例如,将E:\Work\测试.txt
拷贝到E盘根目录
1 | E:\Work>copy 测试.txt E:\ |
如果存在同名文件,会询问是否覆盖
1 | E:\Work>copy 测试2.txt E:\ |
如果不想要被询问,输入
/y
1
2
3
4
5 E:\Work>copy 测试2.txt E:\
已复制 1个文件
E:\Work>copy /y 测试2.txt E:\
已复制 1个文件
复制文件并重命名
1 | E:\Work>copy 测试.txt E:\测试重命名.txt |
复制文件夹下面所有的文件到对应目录,但不包括子文件夹
1 | E:\Work>copy /y 测试文件夹 E:\ |
复制文件到自己,实际修改了文件日期
1 | E:\Work>copy 测试2.txt + |
将当前目录下的“测试1.txt”与“测试2.txt”合并写入“测试3.txt”
1 | E:\Work>copy /y 测试1.txt+测试2.txt 测试3.txt |
xcopy
复制文件夹下面所有的文件到对应目录,但不包括子文件夹
1 | E:\xcopy E:\Work\测试文件夹 E:\ |
复制文件夹下面所有的文件(不包括子文件夹)到对应目录,并且新建目录
1 | E:\xcopy E:\Work\测试文件夹 E:\TestFolder |
复制文件夹下面所有的文件到对应目录,包括子文件夹,添加/s
命令即可
1 | E:\xcopy E:\Work\测试文件夹 /s E:\ |
复制文件夹下面所有的文件到对应目录,并设置条件、包括子文件夹,下面是按照“月-日-年”来作为文件夹的指定条件并进行复制
1 | E:\xcopy E:\work E:\TestCopy /d:1-13-2023 /s /y |
move
移动文件,就是剪切
1 | E:\Work>move 测试2.txt E:\ /y |
移动时,还可以通过通配符进行筛选
1 | E:\Work>move *.txt E:\ /y |
如果移动文件到指定已经存在的文件夹,注意添加上反斜杠
如果移动文件夹(包括子文件夹和子文件)到一个新建的文件夹里,不加反斜杠
1 | E:\Work>move 测试文件夹 E:\New |
这样写会在E盘新建一个名字为New的文件夹,New文件夹内部是“测试文件夹”内部的子文件夹和子文件
如果移动文件夹(包括子文件夹和子文件)到一个已经存在的文件夹里,不加反斜杠
1 | E:\Work>move 测试文件夹 E:\New |
这样会把“测试文件夹”本身和它的子文件夹和子文件都移动到New文件夹的子文件目录里
del
删除文件,不会删除文件夹及子文件夹
1 | E:\>del 测试文件夹 |
在例子中删除了“测试文件夹”内的文件,“测试文件夹”本身以及其内部的子文件夹都不会被删除
只能删除所有非只读文件,在删除前还会确认,不能使用
/y
命令如果想要删除只读文件,添加
/F
指令
1 E:\>del /F 测试文件夹
上面的命令和下面这一行命令等价
1 | E:\>del 测试文件夹\* |
删除所有的子文件夹和文件,包括只读,并且不询问
1 | E:\>del /F /S /Q 测试文件夹 |
删除当前目录下所有的只读文件
1 | E:\Work>del /ar *.* |
删除当前目录除系统文件以外的所有文件
1 | E:\Work>del /a-s *.* |
replace
替换文件
1 | E:\>replace E:\Work\测试2.txt E:\某文件夹 |
注意,第一个
E:\Work\测试2.txt
是需要替换的文件,第二个E:\某文件夹
是一个路径