md test(效果同MKDIR test,注意不是mk test)
删除目录
:rd test
在win10系统的cmd窗口中,要显示当前目录下的文件、文件夹信息,可以用dir命令。
要显示目标目录下的信息,可以先切换工作目录(cd命令或其他方式)为目标目录,然后再用dir。
或者直接执行命令【dir 目标目录】,比如我要显示百度网盘下载文件夹的文件目录信息。
linux系统中,要显示某一个目录下的文件(夹)列表,可以用ls命令,当然也可以用dir命令。
下面继续讲解windows中cmd窗口中的tree指令。
Windows+R 输入cmd命令,我们直接在窗口输入help tree,就可看到帮助信息:
- tree : 显示当前目录下所有子级文件夹树级结构(不包括文件)。
- tree D:\ChromeCoreDownloads\test : 显示指定目录下所有子级文件夹树级结构(不包括文件)。
- tree D:\ChromeCoreDownloads\test /f :显示指定目录下所有子级文件夹树级结构(包括文件)。
- tree D:\ChromeCoreDownloads\test /f /a:作者在测试时,没发现加/a和不加/a的显著区别。
- tree D:\ChromeCoreDownloads\test /f > tree.txt:将指定目录下所有子级文件夹树级结构(包括文件)信息写入当前目录下的tree.txt文件。
- tree D:\ChromeCoreDownloads\test /f > D:\ChromeCoreDownloads\test\tree.txt:将指定目录下所有子级文件夹树级结构(包括文件)信息写入指定目录下的tree.txt文件。
tips:windows下的tree指令功能不够强大,可以下载git tree shell来补充这方面的功能,比如如果文件太多时,可以只显示指定目录向下两级的文件夹层级结构信息。
dir的常规用法是查找某目录下有哪些文件或文件夹,更加“费电脑”的用法是查找某目录下的指定名称的文件(夹)各分布在哪里、大小各是多少、总共统计出来的数目是多少。
比如我想查找百度网盘下载文件夹下有多少个demo.bat文件,就可以先执行命令【cd /d D:\BaiduNetdiskDownload】来切换当前工作目录,然后再执行命令【dir demo.bat】,最终结果如下图所示。
非常奇怪,按道理也可以查找某目录下有多少指定名称的文件夹,但是实际却没办法做到。
标题已经写得足够明白,cd命令和chdir命令是完全等价的。
打印cd命令的帮助信息,我们可以知道cd命令是用来显示当前工作目录和切换工作目录的。
- C:\WINDOWS\system32>cd /?
- 显示当前目录名或改变当前目录。
-
- CHDIR [/D] [drive:][path]
- CHDIR [..]
- CD [/D] [drive:][path]
- CD [..]
-
- .. 指定要改成父目录。
-
- 键入 CD drive: 显示指定驱动器中的当前目录。
- 不带参数只键入 CD,则显示当前驱动器和目录。
-
- 使用 /D 开关,除了改变驱动器的当前目录之外,
- 还可改变当前驱动器。
-
- 如果命令扩展被启用,CHDIR 会如下改变:
-
- 当前的目录字符串会被转换成使用磁盘名上的大小写。所以,
- 如果磁盘上的大小写如此,CD C:\TEMP 会将当前目录设为
- C:\Temp。
-
- CHDIR 命令不把空格当作分隔符,因此有可能将目录名改为一个
- 带有空格但不带有引号的子目录名。例如:
-
- cd \winnt\profiles\username\programs\start menu
-
- 与下列相同:
-
- 请按任意键继续. . .
有些人可能会觉得这个命令好智障,明明好明显能看到,为啥还要有?
其实在echo回显状态关闭时,工作目录是不会显示在cmd窗口上的。
cd \test1\test2
(进入 test2 文件夹)cd \
cd ..
如果你要切换的目标路径和当前工作目录所在磁盘不同,那么就需要切换磁盘。
方式1:先执行切换磁盘命令(例如D盘对应命令【d:
】),然后再用cd命令(例如进入d盘的百度下载文件夹BaiduNetdiskDownload,执行命令【cd /BaiduNetdiskDownload】或【cd d:/BaiduNetdiskDownload】)进入目标目录。
方式2:直接带参数/d执行包括完整目录路径的命令,例如想要进入目标文件夹d:/BaiduNetdiskDownload,可以执行【cd /d d:/BaiduNetdiskDownload】命令。
注意1,方式2中的/d参数是固定的,不论对哪个盘而言都是/d。不是说对于目标目录e:/BaiduNetdiskDownload,就应该执行命令【cd /e d:/BaiduNetdiskDownload】,这是错误的!
注意2,命令【cd d:】是无法切换磁盘至D盘的,虽然它会输出一个d:,但不代表工作目录被切换、。
上面用cd命令切换工作目录,其实是比较麻烦的,最方便的方法还是在资源管理器中进入目标文件夹后,在地址栏中执行cmd即可。
打印move命令的帮助信息,执行命令【move /?】。
我们可以发现,move命令不仅可以将文件从路径A移动到路径B,而且可以在移动的过程中对文件进行重命名,甚至还能对一个文件夹进行重命名。
假如,我的电脑中的【D:\BaiduNetdiskDownload】目录和【D:\D-desktop】目录下各有一个demo.bat文件。
如果我想要将【D:\BaiduNetdiskDownload】目录下的文件移动到【D:\D-desktop】目录,我可以执行以下命令【move demo.bat D:\D-desktop】,然后cmd窗口中提示是否覆盖,我再执行y,就移动并覆盖成功了。
如果我还想要重命名这个文件为【demo1.bat】,我可以执行命令【move demo.bat D:\D-desktop\demo1.bat】。
总结起来就是,如果你在移动一个文件,不想要重命名,那么目标路径中就不用包括文件名(也不需要保留原文件名);如果你想要重命名,就需要包括文件名
参数/y和-y的意思:如果不指定这两个参数之一,就默认是在直接命令中提示、在批处理文件中不提示,如果指定为/y,就都不提示直接覆盖,如果指定为-y,就都提示,可以让你手动选择是否覆盖。
打印copy命令的帮助信息,执行命令【copy /?】。
copy的命令在常规用法上和move命令别无二致。
如果只是复制文件到另一个目录,而不更改命名,也不需要在目标路径上包括文件名,例如命令【copy F:\directory1\test.txt D:\directory2】。
如果需要在复制至另一目录的同时,加以重命名,就需要在目标路径包括文件名,例如命令【copy F:\directory1\test.txt D:\directory2\test1.txt】。
del命令和erase命令等效;但是命令扩展功能开启后,才可用erase命令。
(1)打印del命令的帮助信息,执行命令【del /?】。
(2)假如我们要删除某个文件,直接执行命令【del filepath】,filepath是完整路径。
比如,我们要删除百度网盘下载文件夹下的demo.bat文件,就可以执行命令【del D:\BaiduNetdiskDownload\demo.bat】
注意,虽然没有任何回馈结果表示已经删除,但其实已经删除成功了。
(3)假如要删除某个文件夹,我们可以执行命令【del directory_path】,建议文件夹路径也设置完整。
假设在D盘有一个test文件夹,里面又有一个demo.bat,可以执行命令【del D:\test】,而后再用y回复确认删除。
命令执行完毕,我们可以发现目录下的文件是没了,但是文件夹本身还恋恋不舍地待在电脑上。
我猜(够严谨吧...):del命令只能删除指定目录以及子目录下的文件
我又在test文件夹内创建了一个test1文件夹,再用命令【del D:\test】实验了一下,果真如此呢!
linux系统中,删除文件/目录的指令是rm。
语法:rm [选项]
- -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
- -f:强制删除文件或目录;
- -i:删除已有文件或目录之前先询问用户;
- -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
- –preserve-root:不对根目录进行递归操作;
- -v:显示指令的详细执行过程。
(1)先打印ren的帮助信息,执行命令【ren /?】
(2) 假如当前工作目录中包括重命名文件,直接用命令【rename filename1 filename2 】即可。
(3)假如当前工作目录中不包括,可以先切换工作目录(cd命令等),然后再用(2)中提到的命令,也可以直接用命令【rename filepath new_filename】。
下面3张图,就是演示如何直接用命令【ren D:\test\test1\demo1.bat demo2.bat】,把处于目录【D:\test\test1】下的demo.bat文件重命名成demo2.bat的。
先看一下type的帮助信息。
由此可见,type的作用就是来读取文件的内容的,内容可以参考“以记事本方式”打开的情况,如果是txt、md、bat这种纯文本文件,打开后没有乱码,但如果是doc、excel、exe、jpg、mp3、mp4这种二进制文件,打开后必然是乱码。
type只对纯文本文件有意义,因为如果打开的是乱码,看不懂呀!
读取文本文件最基本的命令格式【type filepath】,尝试打开某bat文件,称心如意。
心不甘地打开某doc文档,看行不?输得一败涂地...
在Linux系统中,与type命令相对应的是cat命令。
先打印一下sort命令的帮助信息。
(1)最基本的不带任何参数的sort命令——sort filepath 。
假设桌面存在一个tool.txt的文本文件,内容如下:
现在我想要对其进行排序和整理。执行命令【sort D:\D-desktop\tool.txt】,得到结果如下图。
我们可以发现31在4的前面,说明这个排序算法优先对第一位进行,如果第一位已经决出先后就不再比较。
注意,这个sort命令不会改变原txt文件的内容,只是输出的结果改变了而已,如果想要把已排序好的内容放在新的txt文件中,可以执行重定向命令【sort D:\D-desktop\tool.txt>D:\D-desktop\tool
_sorted.txt】。
(2)如果想要从第n位开始排序,通过调整/n参数实现,假如想从第2位开始排序,执行命令【sort /+2 D:\D-desktop\tool.txt】
(3)如果想要逆序排序,可以添加/r参数,执行命令【sort /r D:\D-desktop\tool.txt】