文章目录
windows dos命令行太丑,推荐使用 cmder,有非常漂亮的主题,而且可以模拟linux终端的命令。
- cd dir : 切换目录
- cd … : 返回上级目录
- cd / : 返回根目录
- cls ; 清屏
- pause : 暂停
dir 命令
dir命令:
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename]
指定要列出的驱动器、目录和/或文件。
/A 显示具有指定属性的文件。
属性 D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 I 无内容索引文件
L 解析点 - 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。(对于文件来说,只显示文件名和扩展名,这一条比较实用!)
/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来禁用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
排列顺序 N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 反转顺序的前缀
/P 在每个信息屏幕后暂停。
/Q 显示文件所有者。
/R 显示文件的备用数据流。
/S 显示指定目录和所有子目录中的文件。
/T 控制显示或用来分类的时间字符域。
时间段 C 创建时间
A 上次访问时间
W 上次写入的时间
/W 用宽列表格式。
/X 显示为非 8.3 文件名产生的短名称。格式是 /N 的格式,短名称插在长名称前面。如果没有短名称,在其位置则显示空白。
/4 用四位数字显示年
可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)
来替代预先设定的开关。例如,/-W。
举例说明:
1.显示d盘目录列表:dir d:
2.显示c盘windows文件夹下的隐藏文件:dir c:\windows\ /ah
3.显示c盘windows文件夹下的目录文件:dir c:\windows /ad
4.显示c盘windows文件夹下的系统文件:dir c:\windows /as 或 dir c:\windows\ /a:s
5.用记事本打开c盘windows文件夹下的bootstat.dat文件:>notepad c:\windows\bootstat.dat
6.显示c盘windows文件夹下的只读文件(注意只读文件也有文件夹):dir c:\windows /ar
7.显示c盘windows文件夹下的非系统文件:dir c:\windows\ /a-s
8.显示c盘windows文件夹下的准备存档文件(虽然不知道什么是"准备存档文件",但是结果确实显示出了一堆):dir c:\windows\ /aa
9.显示c盘windows文件夹下的无内容索引文件(还真显示出来了一个目录"Prefetch",进去之后内容还挺多):dir c:\windows\ /ai /x
10.显示c盘windows文件夹下的解析点文件(依然不懂什么叫做"解析点",结果显示找不到文件)dir c:\windows\ /al
11.使用空格式显示d盘文件目录列表(没有标题信息或摘要):Desktop>dir d:\ /b
12.规定千位数分隔符显示d盘目录列表(默认):dir d:\ /c
13.规定取消千位数分隔符显示d盘文件大小(文件列表中的文件大小真的取消了千位分隔符):dir d:\ /-c
14.让显示的列表按栏列出(即按屏幕宽度分成几列来显示,目录要用[]扩起来):dir c:\windows\ /d
15.用小写显示文件目录列表:dir c:\windows\ /l
16.测试/N参数(新的长列表格式,其中文件名在最右边),没感觉到和直接"dir"有什么不同
17.测试/O参数(对列表排序)省略
18.测试/P参数(不明白什么意思)省略
19.显示出文件的所有者(结果在文件名前多了一列:BUILTIN\Administrators,builtin是windows内建用户组也即windows的administrator用户组):dir d:\ /q
20.测试/R参数(不明白什么意思)省略
21.显示指定目录和所有子目录中的文件(注:很强大,递归罗列出来所有目录列表):dir demo /s
22.测试/T(不明白什么意思)省略
23.用宽列表显示当前目录(经试验就是横排排列目录和文件,其中目录用[]扩起来):dir /w
24./X 显示为非 8.3 文件名产生的短名称:dir /x
关于8.3格式:即文件名".“之前字符必须小于8字符,”."之后字符必须小于3个字符,如果大于则映射成8.3格式的文件名字
映射规则,如:
3.xlsx 映射成 31DEE~1.XLS
abcdefghi.txt 映射成 ABCDEF~1.TXT
新建 Microsoft Office Excel 工作表.xlsx 映射成 新建MI~1.XLS
这种映射造成的问题是:
在命令行中使用:[del *.txt]批量删除文本文件的时候也会将"mytxtb.txtb"文件错误的删除掉
25.用4位数字显示年(没有看出与默认的有什么不同):dir /4
文件、目录(创建、修改、删除、复制、移动)
创建目录
mkdir (or md) 这2个命令完全等效。
- 在命令行用 help mkdir (or help mkdir) 查看用法
- mkdir可以创建在资源管理器中不能创建的以**.**开头的目录。
- mkdir创建多个目录时,多个目录中间用空格隔开。eg:
mkdir d1 d2 d3
.
MKDIR [drive:]path
MD [drive:]path
如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 \a 不
存在,那么:
mkdir \a\b\c\d
与:
mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
相同。如果扩展被停用,则需要键入 mkdir \a\b\c\d。
创建文件,查看、追加、修改文件内容
type nul>filename.etc :: (文件名.后缀名)来创建新文件
or
cd.>filename.etc
echo "内容">filename.etc :: 创建有内容的文件名
enho "内容2">> filename.etc :: 追加内容到filename.etc
type + 文件名 %查看文件内容%
%输入文件全名(包含拓展名)打开文件,系统会使用该格式默认的工具打开%
%打开文件后,可修改内容%
filename.etc
or
start filename.etc
注:type nul> 命令不同同时创建多个文件。
eg:
- type nul> t1.txt
- type nul> t2.doc
删除文件
DEL (or erase)删除一个或数个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names 指定一个或多个文件或者目录列表。多个文件(目录)中间用空格隔开。
通配符可用来删除多个文件。
如果指定了一个目录,该目录中的所有文件都会被删除。
/P 删除每一个文件之前提示确认。默认的选项。
/F 强制删除只读文件。
/S 删除所有子目录中的指定的文件。
/Q 安静模式。删除全局通配符时,不要求确认
/A 根据属性选择要删除的文件
属性 R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
I 无内容索引文件 L 重分析点
- 表示“否”的前缀
如果命令扩展被启用,DEL 和 ERASE 更改如下:
/S 开关的显示句法会颠倒,即只显示已经删除的文件,而不显示找不到的文件。
eg:
del 1.txt
del 1.txt 2.doc %删除多个文件,中间用空格隔开%
del d1 d2 d3 %只删除d1 d2 d3目录下的所有文件,不删除d1 d2 d3目录%
E:\jde\d1\*, 是否确认(Y/N)? y
E:\jde\d2\*, 是否确认(Y/N)? y
E:\jde\d3\*, 是否确认(Y/N)? y
del *.txt % 删除所有后缀为.txt文件%
删除目录
rd (or RMDIR) 删除目录,不带参数只能删除非空目录。
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。
/Q 安静模式,带 /S 删除目录树时不要求确认
修改、替换目录或文件名
REN (or PENNAME)
重命名文件或目录。
RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.
请注意,您不能为目标文件指定新的驱动器或路径。
CD (OR CHDIR)显示当前目录名或改变当前目录。
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
与下列相同:
cd "\winnt\profiles\username\programs\start menu"
在扩展停用的情况下,您必须键入以上命令。
REPLACE 替换文件。
替换目录可通过先删除源目录,再复制或移动目录实现. or 用MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
命令。
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]
[drive1:][path1]filename 指定源文件。
[drive2:][path2] 指定要替换文件的目录。
/A 把新文件加入目标目录。不能和/S 或 /U 命令行开关搭配使用。
默认的参数(如果[drive2:][path2]中无此文件,则添加)
/P 替换文件或加入源文件之前会先提示您进行确认。
/R 替换只读文件以及未受保护的文件。
/S 替换目标目录中所有子目录的文件。不能与 /A 命令开关搭配使用。
/W 等您插入磁盘以后再运行。
/U 只会替换或更新比源文件日期早的文件。不能与 /A 命令行开关搭配使用。
eg: 如下目录结构
c:\jed
d1
1.txt "content:i am txt"
2.doc "content:word+img"
3.php "content:shell document"
d2
d3
1.txt
1.txt "content:hello"
tv.xls "content:word table"
3.php "content:shell document"
cd d2
replace ..\d1\1.txt
正在替换 E:\jde\d2\1.txt
replace /S ..\d1\1.txt
正在替换 E:\jde\d2\1.txt
正在替换 E:\jde\d2\d3\1.txt
复制、移动文件、目录
复制
COPY将一份或多份文件复制到另一个位置。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]
source 指定要复制的文件。
/A 表示一个 ASCII 文本文件。
/B 表示一个二进位文件。
/D 允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名。
/V 验证新文件写入是否正确。
/N 复制带有非 8dot3 名称的文件时,尽可能使用短文件名。
/Y 不使用确认是否要覆盖现有目标文件的提示。
/-Y 使用确认是否要覆盖现有目标文件的提示。
/Z 用可重新启动模式复制已联网的文件。
/L 如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。
命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。
这可能会被命令行上的 /-Y 替代。除非 COPY命令是在一个批处理脚本中执行的,默认值应为在覆盖时进行提示。
要附加文件,请为目标指定一个文件,为源指定数个文件(用通配符或 file1+file2+file3 格式)。
xcopy 复制文件和目录树。
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B]
[/EXCLUDE:file1[+file2][+file3]...]
source 指定要复制的文件。
destination 指定新文件的位置和/或名称。
/A 仅复制有存档属性集的文件,但不更改属性。
/M 仅复制有存档属性集的文件,并关闭存档属性。
/D:m-d-y 复制在指定日期或指定日期以后更改的文件。
如果没有提供日期,只复制那些源时间比目标时间新的文件。
/EXCLUDE:file1[+file2][+file3]...
指定含有字符串的文件列表。每个字符串在文件中应位于单独的一行。
如果任何字符串与复制文件的绝对路径的任何部分相符,则排除复制
该文件。例如,指定如 \obj\ 或 .obj 的字符串会分别排除目录
obj 下面的所有文件或带有 .obj 扩展名的所有文件。
/P 创建每个目标文件之前提示您。
/S 复制目录和子目录,不包括空目录。
/E 复制目录和子目录,包括空目录。与 /S /E 相同。可以用来修改 /T。
/V 验证每个新文件的大小。
/W 提示您在复制前按键。
/C 即使有错误,也继续复制。
/I 如果目标不存在,且要复制多个文件,则假定目标必须是目录。
/Q 复制时不显示文件名。
/F 复制时显示完整的源文件名和目标文件名。
/L 显示要复制的文件。
/G 允许将加密文件复制到不支持加密的目标。
/H 也复制隐藏文件和系统文件。
/R 覆盖只读文件。
/T 创建目录结构,但不复制文件。不包括空目录或子目录。/T /E 包括
空目录和子目录。
/U 只复制已经存在于目标中的文件。
/K 复制属性。一般的 Xcopy 会重设只读属性。
/N 用生成的短名称复制。
/O 复制文件所有权和 ACL 信息。
/X 复制文件审核设置(隐含 /O)。
/Y 取消提示以确认要覆盖现有目标文件。
/-Y 要提示以确认要覆盖现有目标文件。
/Z 在可重新启动模式下复制网络文件。
/B 复制符号链接本身与链接目标相对。
/J 复制时不使用缓冲的 I/O。推荐复制大文件时使用。
开关 /Y 可以预先在 COPYCMD 环境变量中设置。这可能被命令行上的 /-Y 覆盖。
移动
- move移动文件并重命名文件和目录。
- move也可移动目录(及包含的所有子目录及文件)
要移动至少一个文件:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination
要重命名一个目录:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
[drive:][path]filename1 指定您想移动的文件位置和名称。
destination 指定文件的新位置。目标可包含一个驱动器号和冒号、一个目录名或组合。
如果只移动一个文件并在移动时将其重命名,您还可以包括文件名。
[drive:][path]dirname1 指定要重命名的目录。
dirname2 指定目录的新名称。
/Y 取消确认覆盖一个现有目标文件的提示。
/-Y 对确认覆盖一个现有目标文件发出提示。
命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上的 /-Y 替代。
默认值是,除非 MOVE 命令是从一个批脚本内执行的,覆盖时都发出提示。
other常用、实用的DOS命令
1.TREE :以图形显示启动器或路径的目录结构。
E:.
├─bin
├─config
│ └─profile.d
├─icons
└─vendor
├─bin
├─clink
├─clink-completions
│ ├─.vscode
│ ├─modules
│ └─spec
├─conemu-maximus5
│ ├─ConEmu
│ │ ├─Addons
│ │ ├─clink
│ │ ├─DosBox
│ │ ├─Far1_reg
│ │ ├─Far2_fml
│ │ ├─Far2_reg
│ │ ├─Far3_fml
│ │ ├─Far3_lua
│ │ ├─Scripts
│ │ └─wsl
│ └─plugins
│ └─ConEmu
│ ├─Background
│ │ └─img
│ ├─Lines
│ └─Thumbs
├─lib
└─psmodules
2.PATH:为可执行文件显示或设置搜索路径。