【批处理DOS-CMD-汇总】-文件与目录操作命令、新建目录、删除文件或目录、重命名(md和mkdir、ren和rename、copy、xcopy、move、del和erase、rd和rmdir)

【批处理DOS-CMD-汇总】-文件与目录操作命令、新建目录、删除文件或目录、重命名(md和mkdir、ren和rename、copy、xcopy、move、del和erase、rd和rmdir)一 新建文件夹 目录 md mkdir 1 1 显示 mkdir 命令的帮助信息 C Users Administrato gt md 创建目录 MKDIR drive path MD drive path 如果命令扩展被启用 MKDIR 会如下改变 如果需要 MKDIR 会在路径中创建中级目录 例如 假设

大家好,我是讯享网,很高兴认识大家。

一、新建文件夹/目录——md、mkdir

1.1 显示mkdir命令的帮助信息

C:\Users\Administrator>md /? 创建目录。 MKDIR [drive:]path MD [drive:]path 如果命令扩展被启用,MKDIR 会如下改变: 如果需要,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。

讯享网

从帮助信息易得,可以通过【md】或【mkdir】来新建一级或多级目录。

1.2 新建一级目录——mkdir a

当前目录为【D:\D-desktop\test5】,执行命令【mkdir a】


讯享网

可以看到在test5目录下,多了一个名为a的文件夹

1.3 新建多级目录——mkdir a/b/c

当前目录为【D:\D-desktop\test5】,执行命令【mkdir a\b\c】

 可以看到在test5目录下,多了一个名为a的文件夹

二、重命名文件——rename或ren

2.1 打印ren的帮助信息

执行命令【ren /?】。

2.2 对象是当前目录中的文件

假如当前工作目录中包括重命名文件,直接用命令【rename filename1 filename2 】即可。

 

2.3 对象是当前目录外的文件

假如当前工作目录中不包括,可以先切换工作目录(cd命令等),然后再用(2)中提到的命令,也可以直接用命令【rename filepath new_filename】。

下面3张图,就是演示如何直接用命令【ren D:\test\test1\demo1.bat demo2.bat】,把处于目录【D:\test\test1】下的demo.bat文件重命名成demo2.bat的。

三、移动文件——move

打印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、xcopy

4.1 复制一份或多份文件——copy

打印copy命令的帮助信息,执行命令【copy /?】。

讯享网D:\D-desktop\test5>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 格式)。

copy的命令在常规用法上和move命令别无二致,和xcopy命令的区别在于前者只能复制一个或多个文件,但是后者可以复制目录及所属的所有子目录及其下属的文件。

如果只是复制文件到另一个目录,而不更改命名,也不需要在目标路径上包括文件名,例如命令【copy F:\directory1\test.txt D:\directory2】。

如果需要在复制至另一目录的同时,加以重命名,就需要在目标路径包括文件名,例如命令【copy F:\directory1\test.txt D:\directory2\test1.txt】。

如果source字段是一个目录,那么复制的对象就是该目录下(不包括子目录)所有的文件,而不是复制这个目录;例如命令【copy dir2 .\dir3】,把原来属于dir2中的tool_dir2.txt文件复制到dir3中了,而不是说直接整个地把dir2这个文件夹拷贝过去。

 

4.2 复制文件和目录树——xcopy

打印xcopy命令的帮助信息,执行【xcopy /?】。

D:\D-desktop\test5>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] [/J] [/EXCLUDE:file1[+file2][+file3]...] [/COMPRESS] 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。推荐复制大文件时使用。 /COMPRESS 如果适用,在传输期间请求网络 压缩。 开关 /Y 可以预先在 COPYCMD 环境变量中设置。 这可能被命令行上的 /-Y 覆盖。

从帮助信息我们可以看到包括很多参数,下面重点讲几个参数即可!

参数/p,指对每一个对象进行复制操作前,需要询问用户是否真的要复制,由此可见在复制单个文件的时候该参数无意义,而仅在批量化复制时为了避免复制对象混乱,而可以添加。

参数/s和参数/e,都指在复制一个目录时,会包括各个层级的子目录一起进行复制;但是前者不包括空目录,后者包括。

参数/h,指隐藏文件和系统文件,都是复制对象。

参数/t和参数/e,都指仅复制目录结构,而不复制文件;前者不包括空目录和子目录,但是后者包括。

参数/u,仅复制已经存在于目标中的文件;也即此参数常常用于更新目标文件夹。

参数/i,如果目标不存在,且要复制多个文件,则假定目标必须是目录;例如目标是【.\test.bat】,并且要复制多个文件时,而当前目录中没有test.bat这个目录,就会将多个文件复制进新建的test.bat文件夹;其实第一句话纯属废话,当复制多个文件时目标当然只能是目录了!

参数/y,如果出现可能覆盖目标文件的情况,直接覆盖而不提示。 

下面看一个示例。

dir4目录下的文件结构,如下所示。

我们需要将这个目录复制到dir5目录下,并且包括子目录下的文件,执行命令【xcopy dir4 dir5 /s /i /y】。

五、删除一个或多个文件——del或erase

del命令和erase命令等效;但是命令扩展功能开启后,才可用erase命令。

5.1 打印del命令的帮助信息

执行命令【del /?】。

讯享网D:\D-desktop\test5\dir4>del /? 删除一个或多个文件。 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 重新分析点 O 脱机文件 - 表示“否”的前缀 如果命令扩展被启用,DEL 和 ERASE 更改如下: /S 开关的显示句法会颠倒,即只显示已经 删除的文件,而不显示找不到的文件。

5.2 删除文件——del filepath

假如我们要删除某个文件,直接执行命令【del filepath】,filepath是完整路径。

比如,我们要删除百度网盘下载文件夹下的demo.bat文件,就可以执行命令【del D:\BaiduNetdiskDownload\demo.bat】。

 注意,虽然没有任何回馈结果表示已经删除,但其实已经删除成功了。

5.3 删除文件夹的文件——del directory_path

假如要删除某个文件夹中的所有文件,我们可以执行命令【del directory_path】,建议文件夹路径也设置完整。

假设在D盘有一个test文件夹,里面又有一个demo.bat,可以执行命令【del D:\test】,而后再用y回复确认删除。

命令执行完毕,我们可以发现目录下的文件是没了,但是文件夹本身还恋恋不舍地待在电脑上。

我猜(够严谨吧...):del命令只能删除指定目录以及子目录下的文件,而整个目录结构还是岿然不动

 

我又在test文件夹内创建了一个test1文件夹,再用命令【del D:\test】实验了一下,test1目录还存在,果真如此呢!

 

linux系统中,删除文件/目录的指令是rm。

语法:rm [选项] 
  • -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
  • -f:强制删除文件或目录;
  • -i:删除已有文件或目录之前先询问用户;
  • -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
  • –preserve-root:不对根目录进行递归操作;
  • -v:显示指令的详细执行过程。

六、删除文件夹——rmdir、rm

6.1 显示rmdir命令帮助信息

执行命令【rmdir /?】。

讯享网D:\D-desktop\test5\dir4>rmdir /? 删除一个目录。 RMDIR [/S] [/Q] [drive:]path RD [/S] [/Q] [drive:]path /S 除目录本身外,还将删除指定目录下的所有子目录和 文件。用于删除目录树。 /Q 安静模式,带 /S 删除目录树时不要求确认

参数/s,作用在于当指定目录非空时,也可以成功删除整个目录;不然会提示目录非空不能删除。

如下图,dir5文件夹中有文件或子目录,所以没加参数/s就出错了。

另外,我发现这个命令删除的目录,在回收站找不到,所以“且行且珍惜”。 

6.2 案例讲解

假设dir4文件夹中有文件和子目录,且子目录中有文件。

执行【rd dir4 /s /q】,即可在没有任何提示的情况下删除整个dir4目录,dir4目录本身也会被删除!

 

小讯
上一篇 2025-01-24 19:03
下一篇 2025-01-10 12:09

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/50165.html