Windows常用command line操作
Posted NaomiEdna
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows常用command line操作相关的知识,希望对你有一定的参考价值。
使用command line的优势在于:
速度比GUI更快
有一些软件和工具只能通过command line进行操作
目录
1. 改变目录
2. 列出文件和目录 [Tab自动补全目录名]
3. 打开文件 [清空界面,筛选文件格式,/? 命令提示符]
4. 创建和移除目录
5. 关于路径PATH
6. 关于Drives [tree;改变cmd的颜色]
7. 文件属性
8. 删除和读取文件
9. 复制和移动文件
常用command line操作:
- 改变目录
每当我们运行cmd [右击windows-选择run/运行-选择open/打开: cmd] ,首先看到的界面是我们的当前工作目录(current working directory), 即当前所在位置。
在explorer中我们通过双击文件夹和后退来进入下一目录和回到上一目录,这在cmd中的对应操作是
进入下一目录:输入关键词cd 加文件夹名(change directory) 即可进入下一层目录
通过cd我们还可以前进多步,只需输入cd + 路径 然后回车即可,如:
Microsoft Windows [版本 10.0.10586] (c) 2015 Microsoft
Corporation。保留所有权利。
C:\\Users\\Naomi>cd Desktop
C:\\Users\\Naomi\\Desktop>cd ..
C:\\Users\\Naomi>
C:\\Users\\Naomi>cd Desktop/built-in
C:\\Users\\Naomi\\Desktop\\built-in>cd ….
C:\\Users\\Naomi>
回到上一目录:,输入关键词cd .. (回到上一层) cd 加半角的两个句号
当我们想回去两层目录,可以输入 cd …. 即可退回 cd 加半角两个句号反斜杠再加两个半角句号
Tips:
有时候我们想更省事一些,比如想进入Desktop,在打开CMD后可以输入 cd D 再按住Tab键,CMD会帮我们自动补全D开头的目录 (如Desktop和Downloads和Documents),这样不仅节省了时间,同时降低了typo几率
2 . 列出文件和目录
查看当前目录下所有文件:
输入dir 回车 列出当前目录下所有文件夹以及文件
如下图所示,有DIR标示的为文件夹,没有DIR的文件的前面的数字即为该文件的大小,在列表最后合计一共的文件数和目录数
C:\\Users\\Naomi\\Desktop 的目录
2016/06/22 14:24 <DIR> .
2016/06/22 14:24 <DIR> ..
2016/02/29 08:09 687 android - 快捷方式.lnk
2016/06/22 09:53 <DIR> built-in
2016/06/22 11:31 11,117 built-in functions.xlsx
2016/01/14 08:08 <DIR> Coding
2016/05/23 09:34 1,134 Eclipse Java Latest Released.lnk
2016/05/19 22:06 766 Green网络加速器.lnk
2016/06/22 14:24 1,943 JetBrains PyCharm 2016.1.4.lnk
2016/06/22 14:24 <DIR> shortcut
2016/06/19 10:13 1,714 Sublime Text 3.lnk
6 个文件 17,361 字节
5 个目录 7,658,102,784 可用字节
在当前目录下,我们还可以进入该目录下其他目录查看文件,如 在打开cmd后输入 dir Desktop/built-in 可以看到built-in目录下的文件,但是我们并不用进入Desktop或者built-in目录后查看:
C:\\Users\\Naomi\\Desktop\\built-in 的目录
2016/06/22 09:53 <DIR> .
2016/06/22 09:53 <DIR> ..
2016/06/22 09:53 <DIR> iterables
0 个文件 0 字节
3 个目录 7,657,762,816 可用字节
C:\\Users\\Naomi>
还有一个快捷键是dir /a,这个命令同样是显示当前目录下的文件和文件夹,不同在于这个目录会显示所有的包括隐藏的文件和文件夹
3 . 打开文件和历史输入 [清空界面,筛选文件格式, /? 命令提示符]
在cmd变得看起来有些乱的时候,我们可以在任意目录下输入‘cls’ (clear screen), 这样cmd界面上所有内容都会清空
如果在某一个目录下有多种文件格式,我们可以通过输入 dir * .格式后缀 来筛选出所有的需要的格式的文件
如下,查看目录下文件以及筛选出.png结尾的文件
C:\\Users\\Naomi\\Desktop\\res>dir
驱动器 C 中的卷是 Win7
卷的序列号是 30A7-1A99
C:\\Users\\Naomi\\Desktop\\res 的目录
2016/06/22 15:01 <DIR> .
2016/06/22 15:01 <DIR> ..
2016/06/20 11:45 58,524 h1.jpg
2016/06/20 11:48 100,652 h2.jpg
2016/05/03 21:28 230,829 Intent.png
2016/05/01 14:32 176,927 layout.png
2016/05/01 20:30 490,198 lifeCycle.png
2016/06/20 11:45 18,220 n1.jpg
2016/06/20 11:48 17,130 n2.jpg
7 个文件 1,092,480 字节
2 个目录 7,655,817,216 可用字节
C:\\Users\\Naomi\\Desktop\\res>dir *.png
驱动器 C 中的卷是 Win7
卷的序列号是 30A7-1A99
C:\\Users\\Naomi\\Desktop\\res 的目录
2016/05/03 21:28 230,829 Intent.png
2016/05/01 14:32 176,927 layout.png
2016/05/01 20:30 490,198 lifeCycle.png
3 个文件 897,954 字节
0 个目录 7,655,817,216 可用字节
C:\\Users\\Naomi\\Desktop\\res>
在cmd里面,如果我们想输入之前已经输入过的命令,可以通过键盘上的↑↓键来看历史输入记录
在cmd当前目录下,如果不加任何快捷键直接输入目录下的文件,我们将看到该文件会被系统默认的方式进行打开查看
/? 命令提示符,命令提示符用于显示当前命令的帮助和使用方法,在不知道某个命令该如何使用的时候可以输入该命令 加 /? 回车来获取提示。
如 ipconfig /? 可以显示IP设置以及time /? 显示时间设置等:
C:\\Users>time /?
显示或设置系统时间。
TIME [/T | time]
显示当前时间设置和输入新时间的提示,请键入
不带参数的 TIME。要保留现有时间,请按 Enter。
如果命令扩展被启用,TIME 命令会支持 /T 命令行开关;该命令行开关告诉
命令只输出当前时间,但不提示输入新时间。
C:\\Users>
4 . 创建和移除目录
创建目录:输入 mkdir + 文件夹名 回车 即在当前目录下新建了一个文件夹
移除目录:输入rmdirk + 文件夹名 回车 删除该文件夹
如:
C:\\Users\\Naomi\\Desktop>dir
驱动器 C 中的卷是 Win7
卷的序列号是 30A7-1A99
C:\\Users\\Naomi\\Desktop 的目录
2016/06/22 15:37 <DIR> .
2016/06/22 15:37 <DIR> ..
2016/06/22 15:37 <DIR> built-in
2016/06/22 14:24 1,943 JetBrains PyCharm 2016.1.4.lnk
1 个文件 1,943 字节
3 个目录 7,666,298,880 可用字节
C:\\Users\\Naomi\\Desktop>mkdir Tuna
C:\\Users\\Naomi\\Desktop>dir
驱动器 C 中的卷是 Win7
卷的序列号是 30A7-1A99
C:\\Users\\Naomi\\Desktop 的目录
2016/06/22 15:37 <DIR> .
2016/06/22 15:37 <DIR> ..
2016/06/22 15:37 <DIR> built-in
2016/06/22 14:24 1,943 JetBrains PyCharm 2016.1.4.lnk
2016/06/22 15:37 <DIR> Tuna
1 个文件 1,943 字节
4 个目录 7,666,298,880 可用字节
C:\\Users\\Naomi\\Desktop>rmdir Tuna
C:\\Users\\Naomi\\Desktop>dir
驱动器 C 中的卷是 Win7
卷的序列号是 30A7-1A99
C:\\Users\\Naomi\\Desktop 的目录
2016/06/22 15:37 <DIR> .
2016/06/22 15:37 <DIR> ..
2016/06/22 15:37 <DIR> built-in
2016/06/22 14:24 1,943 JetBrains PyCharm 2016.1.4.lnk
1 个文件 1,943 字节
3 个目录 7,666,233,344 可用字节
然而,rmdir 命令并不是所有情况下都可以用的。
比如我们在Desktop新建了Tuna文件夹,在Tuna下面再新建一个test文件夹,回到桌面后再执行rmdir命令,会看到桌面的Tuna文件夹还是存在的,cmd提示我们“目录不是空的”。因为rmdir只可以删除空文件夹
如果我们需要删除一个非空文件夹,我们可以输入rmdir /s FolderName 来执行,该命令会删除文件夹以及文件夹下面的所有文件。
如:
C:\\Users\\Naomi\\Desktop>rmdir Tuna
目录不是空的。
C:\\Users\\Naomi\\Desktop>rmdir /s Tuna
Tuna, 是否确认(Y/N)? Y
C:\\Users\\Naomi\\Desktop>dir
驱动器 C 中的卷是 Win7
卷的序列号是 30A7-1A99
C:\\Users\\Naomi\\Desktop 的目录
2016/06/22 15:47 <DIR> .
2016/06/22 15:47 <DIR> ..
2016/06/22 15:37 <DIR> built-in
2016/06/22 14:24 1,943 JetBrains PyCharm 2016.1.4.lnk
1 个文件 1,943 字节
3 个目录 7,666,364,416 可用字节
C:\\Users\\Naomi\\Desktop>
Tips:
在输入命令行的时候,如果我们想修改已经输入的命令(有时候命令比较长,虽然我们可以通过键盘的左键来修改),可以按键盘的HOME键直接跳到命令行最左端修改
如果想要跳到最右端,可以按住END键
如果按住CTRL + 左键,命令行可以向左一个词一个词的跳来帮助修改
5 . 关于路径PATH
如果我们想要进入一个绝对的目录而不是一直cd cd的话,可以做如下操作:
C:\\Users\\Naomi\\Desktop>cd "C:\\Program Files"
注意到上述路径是“”括起来的,因为文件夹Program Files中有空格,在cmd里如果不加“”,会默认进入C:\\Program,把Files当成是一个option。所以在遇到有空格的文件夹时,需要加“”。
在目录下如果有.exe可执行文件,输入该文件名后回车 则会自动开始安装,可以按ctrl + c停止安装。
在cmd任意目录下输入path,可以看到一串的路径,接着输入未安装的可执行文件回车,即在path里面寻找希望安装的可执行文件并开始安装。PATH可以在我的电脑的属性-高级系统设置-环境变量 里进行查看和修改
6 . 关于Drives [tree;改变cmd的颜色]
Drive 是描述对特定磁盘驱动器或网络共享的属性提供访问。
在cmd里输入 wmic logicaldisk get name 可以得到所有的drive信息,一般hard drive默认是C,drive包括CD,DVD, U盘, 移动硬盘等:
C:\\Users\\Naomi>wmic logicaldisk get name
Name
C:
D:
E:
C:\\Users\\Naomi>
切换drive,可以直接输入drive name: (不区分大小写), 如从hard drive 转换进入USB drive (E:) :
C:\\Users\\Naomi>e:
E:\\>
如果想了解一个目录下的结构,可以输入tree回车,然后… Voila!
不同于dir,我们不仅可以看到里面所含有的文件目录,还有整个文件夹的结构
C:\\Users\\Naomi\\Desktop>tree
卷 Win7 的文件夹 PATH 列表
卷序列号为 00000013 30A7:1A99
C:.
└─built-in
├─iterables
└─shortcut
├─Coding
├─contentProvider
└─res
C:\\Users\\Naomi\\Desktop>
接下来一个特别cool的功能,改变cmd的颜色:输入color + 对应的代码即可,具体代码信息如下: 【获取具体代码信息可以通过输入color /? 来获取】
C:\\Users\\Naomi\\Desktop>color 0G
设置默认的控制台前景和背景颜色。
COLOR [attr]
attr 指定控制台输出的颜色属性
颜色属性由两个十六进制数字指定 -- 第一个为背景,第二个则为
前景。每个数字可以为以下任何值之一:
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 浅绿色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色
如果没有给定任何参数,该命令会将颜色还原到 CMD.EXE 启动时
的颜色。这个值来自当前控制台窗口、/T 命令行开关或
DefaultColor 注册表值。
如果用相同的前景和背景颜色来执行 COLOR 命令,COLOR 命令
会将 ERRORLEVEL 设置为 1。
例如: "COLOR fc" 在亮白色上产生亮红色
C:\\Users\\Naomi\\Desktop>
如果说修改了颜色后想改回默认颜色,直接输入color即可
下图的MATRIX STYLE很cool吧 :-)
7 . 文件属性
文件属性这部分内容解释可参考输入 attrib /? 显示的内容:
C:\\Users\\Naomi\\Desktop>attrib /?
显示或更改文件属性。
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I]
[drive:][path][filename] [/S [/D] [/L]]
+ 设置属性。
- 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
I 无内容索引文件属性。
X 无清理文件属性。
V 完整性属性。
[drive:][path][filename]
指定 attrib 要处理的文件。
/S 处理当前文件夹
及其所有子文件夹中的匹配文件。
/D 也处理文件夹。
/L 处理符号链接和
符号链接目标的属性
C:\\Users\\Naomi\\Desktop>
通过cmd我们可以查看文件的属性,如下图可以看到我的路径下有一个叫milk的文本文档。
如果想要修改这个文档的属性,可以输入attrib +h 文件名,这样milk文本文档就变成了hidden的
如果想要去掉hidden属性改为readable,则可以通过attrib +r -h 文件名即可:
C:\\Users\\Naomi\\Desktop\\built-in>cd Tuna
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>attrib
A C:\\Users\\Naomi\\Desktop\\built-in\\Tuna\\milk.txt
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>attrib +h milk.txt
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>attrib
A H C:\\Users\\Naomi\\Desktop\\built-in\\Tuna\\milk.txt
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>attrib +r -h milk.txt
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>attrib
A R C:\\Users\\Naomi\\Desktop\\built-in\\Tuna\\milk.txt
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>
8 . 删除和读取文件
输入del 加想要删除的文件名即可删除文件
比如下面因为milk还是只读属性所以刚开始del显示拒绝访问,修改了属性后就可以删除了:
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>del milk.txt
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna\\milk.txt
拒绝访问。
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>attrib -r milk.txt
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>del milk.txt
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>dir
驱动器 C 中的卷是 Win7
卷的序列号是 30A7-1A99
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna 的目录
2016/06/22 19:24 <DIR> .
2016/06/22 19:24 <DIR> ..
0 个文件 0 字节
2 个目录 7,648,645,120 可用字节
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>
通过cmd新建或重写一个text文件可以通过echo “文本内容” > 文件名 来新建文件
type 加文件名来查看文件文本内容
如果想在原有文本内容后面添加新的内容,可以将命令里的> 改为两个,即 echo “文本内容” > 文件名 来新建文件
除此以外我们可以将cmd里面输入命令行之后的结果保存为一个文本文档,如保存dir后显示的内容可以直接输入 dir > 文档名 来保存
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>type milk.txt
eggs are nice
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>echo milk is good for you >milk.txt
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>type milk.txt
milk is good for you
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>echo so are eggs >>milk.txt
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>type milk.txt
milk is good for you
so are eggs
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>dir > water.txt
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>type water.txt
驱动器 C 中的卷是 Win7
卷的序列号是 30A7-1A99
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna 的目录
2016/06/22 19:33 <DIR> .
2016/06/22 19:33 <DIR> ..
2016/06/22 19:30 23 bacon.txt
2016/06/22 19:31 37 milk.txt
2016/06/22 19:33 0 water.txt
3 个文件 60 字节
2 个目录 7,648,632,832 可用字节
C:\\Users\\Naomi\\Desktop\\built-in\\Tuna>
打开water文档可以看到里面正是Tuna目录下的信息:
9 . 复制和移动文件
复制文件: copy 希望复制的文件名 目标目录/路径
移动文件: move 希望移动的文件名 目标目录/路径
较之copy,我们也可以用xcopy来复制,XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件.
xcopy默认是复制目录下的文件(不包括目录),所以如果目录下还有目录,xcopy会自动忽略
想要解决上述问题,可以在命令后面加上/s,即表示复制的不仅是文件,还包括所有的子目录
重命名文件: rename 希望重命名的文件 新的名称 即可:
C:\\Users\\Naomi\\Desktop\\test>xcopy eggs Milk /s
eggs\\test1.txt
eggs\\test2.txt
eggs\\test_1.txt
eggs\\test_2.txt
4 File(s) copied
C:\\Users\\Naomi\\Desktop\\test>move eggs milk
1 dir(s) moved.
C:\\Users\\Naomi\\Desktop\\test>rename milk water
C:\\Users\\Naomi\\Desktop\\test>dir
Volume in drive C has no label.
Volume Serial Number is 8A7D-C6A3
Directory of C:\\Users\\Naomi\\Desktop\\test
06/22/2016 11:46 PM <DIR> .
06/22/2016 11:46 PM <DIR> ..
06/22/2016 11:44 PM <DIR> water
0 File(s) 0 bytes
3 Dir(s) 7,706,173,440 bytes free
C:\\Users\\Naomi\\Desktop\\test>
如有疑问和建议,欢迎提出和讨论。
参考资料:
https://www.youtube.com/playlist?list=PL6gx4Cwl9DGDV6SnbINlVUd0o2xT4JbMu
以上是关于Windows常用command line操作的主要内容,如果未能解决你的问题,请参考以下文章
[转]How do I run msbuild from the command line using Windows SDK 7.1?
msiexec command line arguments
idea报错:Error running $classname: Command line is too long. Shorten command line for $classname.(示例代码