0100 dos命令(批处理)学习笔记之 attrib del copy xcopy(二)

本文最后更新于:4 年前

0100-dos-ming-ling-pi-chu-li-xue-xi-bi-ji-zhi-attrib-del-copy-xcopyer

学习要点:

  1. 设置文件属性:attrib
  2. 删除命令:del
  3. 复制文件:copy
  4. 复制文件(夹):xcopy

del 命令

删除一个或数个文件:DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names   指定一个或数个文件或目录列表。通配符可被用来删除多个文件。如果指定了一个目录,目录中的所有文件都会被删除。 
/P            删除每一个文件之前提示确认。
/F            强制删除只读文件。
/S            从所有子目录删除指定文件。
/Q            安静模式。删除全局通配符时,不要求确认。
/A            根据属性选择要删除的文件。
attributes   R  只读文件  S  系统文件   H  隐藏文件   A  存档文件 -  表示“否”的前缀

删除一个指定文件

1
2
3
4
5
@echo off
@echo 删除 C:\BAT\test\新建文本文档.txt
:: 不带参数
del C:\BAT\test\新建文本文档.txt
pause

/P /Q 的作用

/p 删除前确认 /q 不需要确认(删除文件夹时)

删除一个文件前做Y/N确认

1
2
3
4
5
@echo off
@echo 删除 C:\BAT\test\新建文本文档.txt
:: /P 参数
del /p C:\BAT\test\新建文本文档.txt
pause

执行后,会发现有需要输入Y/N 确认:

1586771582762-1692875805792-24

静默删除

而删除一个文件夹下的文档时,会自动默认需要确认:

1586772344130-1692875822207-26

如果需要静默删除,不需要确认,就需要用到/q参数:

1
2
3
4
5
@echo off
@echo 删除 C:\BAT\test\ABC\*.*
:: /Q 参数
del /q /f C:\BAT\test\ABC\*.*
pause

/F 的作用

删除只读文件
如果在删除某一个文档时,有碰到这个提示:

1586772015942-1692875839215-28

意味着该文档只读,所以可以用 /F参数来强制删除:

1
2
3
4
5
@echo off
@echo 删除 C:\BAT\test\ABC\123.docx
:: /F 参数
del /P /f C:\BAT\test\ABC\123.docx
pause

执行后,正常删除:

1586772130500-1692875860201-30

/S /A 的作用

/S 删除当前目录&子目录下所有指定名称的文件 /A 删除当目录&子目录下所有指定属性文件

删除所有指定文件名的文件

先查看 文件名为 123.txt 的文件有几个

1586773159390-1692875879417-32

所以要一下子删除 C:\BAT\test 目录以及子目录下这3个 123.txt文件,可以这么写(为了看清过程,把回读打开):

1
2
3
4
5
6
::@echo off
@echo 删除 C:\BAT\test\ 目录下所有 名字为123.txt 的文件
:: /s 参数
del /s /f C:\BAT\test\123.txt
pause

执行过程如下:

1586773296279-1692875908925-34

删除所有只读文件

如果要删除 当前目录只读属性文件,就直接使用 /ar即可,如果要删除当前目录&子目录所有只读文件,则需要搭配 /S使用:

1
2
3
4
5
::@echo off
@echo 删除 C:\BAT\test\ 目录下所有 名字为123.txt 的文件
:: /a 参数
del /s /ar /q C:\BAT\test\*.*
pause

执行过程如下:

1586773695320-1692875929231-36


0100 dos命令(批处理)学习笔记之 attrib del copy xcopy(二)
http://huigg.xyz/2020/5e248fed.html
作者
辉哥哥
发布于
2020年4月13日
更新于
2020年4月13日