news 2026/7/5 14:52:53

CMD命令自修实战手册 | 第一篇:文件与目录管理(下)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CMD命令自修实战手册 | 第一篇:文件与目录管理(下)

本篇系统梳理了 Windows 命令行中与文件、目录、权限、搜索和安全清理相关的常用命令,涵盖movedelrenechotypefind/findstrattribtakeownicaclscipher等工具,并配合实战案例与综合练习,帮助我们从基础使用迈向脚本自动化。


跳转系列目录导航

move – 移动文件或重命名目录

功能介绍

move是命令行的内部命令,主要用于移动文件或文件夹。当源路径和目标路径位于同一盘符时,它既能移动文件,也能移动并重命名文件夹;若仅在原地改名,同样可以实现重命名文件或目录的效果。

注意:

语法

move [/y] [/-y] [drive:][path]filename1 [,...] destination

参数详解

参数释义
/y直接覆盖已存在的目标文件,不显示确认提示。
/-y覆盖已存在的目标文件时弹出确认提示。

实战演练

1. 重命名文件

move 名称1.txt 名称2.txt

单纯的重命名操作,当然也可以同时移动并重命名。

2. 移动并重命名

move test.txt E:\Demo\Demo.txt

如果不改名,仅移动文件,去掉目标路径中的文件名即可,例如:move test.txt E:\Demo\

3. 重命名目录

move test Demo

test目录改名为Demo
目录重命名不能与跨目录移动同时进行,这仅适用于文件。

4. 将目录移动到另一个目录

move C:\temp\素材 C:\工作区\归档\

注意:源目录和目标目录必须位于同一驱动器,否则操作会失败。


del – 删除文件

功能介绍

del用于删除一个或多个文件。它支持通配符,可按文件名、扩展名或属性筛选批量删除,但不能删除目录。使用del删除的文件默认不会进入回收站,请谨慎操作。

语法

del [/P] [/F] [/S] [/Q] [/A[[:]attributes]] filename

参数详解

参数释义
/P删除每个文件前提示确认。
/F强制删除只读文件。
/S递归删除所有子目录中匹配的文件(不删除文件夹本身)。
/Q静默模式,删除时不要求确认。
/A[[:]属性]按属性筛选删除,如R只读、H隐藏、S系统、A存档。可使用-表示“非”,例如/A:-H表示删除非隐藏文件。

实战演练

1. 删除单个文件

del 报告.doc

2. 利用通配符批量删除

del *.tmp

3. 删除前逐个确认

del /p *.tmp

4. 强制删除只读文件

del /f readme.txt

5. 递归删除子目录中的指定文件

del /s *.log

6. 静默删除所有文件(谨慎!)

del /s /q *.*

7. 按属性删除(例如删除所有存档属性的 .bak 文件)

del /A:A *.bak

删除所有隐藏文件:del /A:H *.*,保留隐藏文件而删除其他:del /A:-H *.*


ren – 重命名文件

功能介绍

ren(或rename)专门用于重命名文件或文件夹。它可以修改名称、扩展名,也支持通过通配符批量重命名。
move的核心区别:ren不能跨驱动器或目录移动文件,目标文件名只能是单纯的新名称,不能包含盘符或路径。

语法

ren [drive:][path]filename1 filename2

实战演练

1. 重命名文件

ren 报告.txt 月报.txt

2. 重命名扩展名

ren 报告.txt 报告.log

3. 批量重命名(利用通配符)
例如,将所有.txt文件改为.doc文件:

ren *.txt *.doc

更多高级用法依赖于对通配符*?的灵活运用。


echo – 输出文本或创建新文件

功能介绍

echo主要用于在控制台显示文本信息,也可结合重定向操作符>>>来创建新文件或向已有文件追加内容。在批处理脚本中,echo on/off用于控制命令本身的回显状态。

语法

echo [on | off] echo [message] echo.

实战演练

1. 显示一行文本

echo hello, world.

2. 查看当前回显状态

echo

3. 创建新文件并写入一行内容

echo 初始化配置 > init.log

4. 追加内容

echo 新增记录 >> init.log

5. 输出空行

echo.

6. 输出含有特殊字符的文本
如要输出2 > 1,需使用脱字符^转义:

echo 2 ^> 1

type – 显示文件内容 / 创建空文件

功能介绍

type用于在命令行窗口中显示文本文件的内容。它可以一次指定多个文件,并按顺序输出,但不支持通配符。除了查看文件,type还常与重定向组合实现文件合并、创建空文件、追加内容等功能。

语法

type [drive:][path]filename [drive:][path]filename2 ...

实战演练

1. 分页显示

type 文件名.txt | more

type本身无分页参数,但可借助管道传给more实现类似/P的分页效果。

2. 文件合并

type 第一部分.txt 第二部分.txt > 完整.txt

3. 创建空文件

type nul > 新文件.txt

4. 查看单个文件

type readme.txt

5. 同时查看多个文件

type 日志1.txt 日志2.txt

输出时两个文件内容直接相连,没有分隔标记。

6. 将文件内容追加到另一个文件

type 更新日志.txt >> 完整日志.log

find / findstr – 搜索文件中的文本内容

功能介绍

两者常配合管道用于日志分析、脚本过滤和输出重定向。

语法

find

find [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename ...]

若未指定文件名,find会从标准输入(管道)读取内容。

findstr

findstr [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file] [/C:string] [/G:file] [/A:color] [/OFF[LINE]] strings [[drive:][path]filename ...]

filename可使用通配符*?/S可递归子目录。

参数详解

find 常用参数
参数释义
/V显示不包含指定字符串的行(反向匹配)。
/C仅显示包含字符串的行数统计,不输出具体内容。
/N在每行前显示行号。
/I忽略大小写。
/OFF[LINE]不跳过脱机属性文件。
findstr 常用参数
参数释义
/B匹配位于行首的模式。
/E匹配位于行尾的模式。
/L按字面字符串搜索(不使用正则)。
/R按正则表达式解释搜索内容(默认)。
/S递归搜索当前目录及子目录中的文件。
/I忽略大小写。
/X打印完全匹配整行的行。
/V打印不包含匹配的行。
/N在匹配行前显示行号。
/M仅打印包含匹配项的文件名(不显示内容)。
/O在每行前显示字符偏移量。
/F:file从指定文件中读取要搜索的文件列表。
/C:string将指定字符串作为字面搜索字符串(即使包含空格)。
/G:file从文件中读取搜索字符串列表。
/A:color以指定颜色属性显示匹配行(如0E为黄色)。

实战演练

1. 用 find 搜索包含某字符串的行

find "error" app.log

2. 用 find 统计匹配行数

find /c "timeout" server.log

3. 忽略大小写并显示行号

find /i /n "warning" system.log

4. 显示不包含某字符串的行

find /v "DEBUG" app.log

5. 递归搜索所有子目录下的文件(findstr)

findstr /s /i "TODO" *.*

6. 搜索多个字符串(空格分隔表示“或”关系)

findstr "error warning critical" system.log

7. 完全匹配整行

findstr /x "OK" *.*

8. 高亮显示匹配内容

findstr /a:0E "error" events.log

attrib – 查看或修改文件属性

功能介绍

attrib用于显示、设置或清除文件及目录的四种基本属性:R只读、A存档、S系统、H隐藏。在文件管理、系统维护、病毒清理后恢复文件可见性等场景中不可或缺。

语法

attrib [+R | -R] [+A | -A] [+S | -S] [+H | -H] [drive:][path][filename] [/S [/D]] [/L]

参数详解

参数释义
+R/-R设置或清除只读属性。只读文件不能被修改或直接删除(del需加/F)。
+A/-A设置或清除存档属性。常用于备份程序(如xcopy /arobocopy)判断文件是否已备份。
+S/-S设置或清除系统属性。具有系统属性的文件在默认文件夹选项中不可见,通常与隐藏属性配合使用。
+H/-H设置或清除隐藏属性。隐藏文件在资源管理器中默认不显示。
/S对当前目录及其所有子目录中的匹配文件执行操作(不包含目录本身)。
/D同时处理目录本身的属性(通常与/S一起使用)。
/L对符号链接本身(而非其目标)执行操作。

实战演练

1. 查看当前目录所有文件的属性

attrib

2. 查看特定文件的属性

attrib 重要文档.docx

3. 为文件添加只读属性

attrib +R 配置.ini

4. 隐藏一个文件

attrib +H x.txt

5. 同时添加系统和隐藏属性(彻底隐藏)

attrib +H +S x.txt

这种组合使文件在普通显示设置下不可见,也无法被简单删除。

6. 递归清除所有子目录中文件的存档属性

attrib -A /S *.*

7. 递归隐藏目录及其内容

attrib +H /S /D D:\备份\

不仅隐藏D:\备份下的所有文件,还将子目录本身也设为隐藏。

8. 修复 U 盘病毒隐藏的文件
病毒常将文件属性改为“系统+隐藏”,导致文件看似消失,恢复命令:

attrib -S -H /S /D F:\*.*

(假设 U 盘盘符为F:


takeown – 获取文件所有权

功能介绍

takeown是用于获取文件或文件夹所有权的管理工具。当文件或目录因权限不足无法访问、无法删除,或在安全事件排查中需要强制接管资源时,管理员可通过takeown将自己设置为对象的所有者,从而获得后续修改权限的能力。

该命令必须在具有管理员权限的命令行中运行。

语法

takeown [/F <filename>] [/A] [/R] [/D {Y | N}] [...]

参数详解

参数释义
/F必选参数,指定要获取所有权的文件、目录或通配符模式。
/A将所有权授予本地Administrators组(而非当前用户)。
/R递归操作,适用于目录及所有子对象。
`/D {YN}`

实战演练

1. 获取单个文件的所有权(归当前用户)

takeown /f "C:\顽固文件.dll"

注意:仅获得所有权可能仍无法修改文件,还需要通过icacls赋予完全控制权限。

2. 获取整个目录的所有权并指定给管理员组

takeown /f "C:\敏感数据" /A /R /D Y

3. 清理无法删除的病毒文件(典型流程)

takeown /f "D:\病毒.exe" /A icacls "D:\病毒.exe" /grant Administrators:F del /f "D:\病毒.exe"

先获取所有权,再授予完全控制权,最后强制删除。

4. 接管系统关键文件用于恢复

takeown /F "C:\Windows\System32\drivers\bad.sys" /A icacls "C:\Windows\System32\drivers\bad.sys" /grant Administrators:F copy good.sys "C:\Windows\System32\drivers\bad.sys"

5. 批量获取某类型文件的所有权

takeown /F "C:\Logs\*.log" /A

6. 递归接管并隐藏目录(安全存档)

takeown /F "D:\旧档案" /A /R /D Y icacls "D:\旧档案" /inheritance:r /grant:r Administrators:(OI)(CI)F attrib +R +H /S /D "D:\旧档案"

先接管权限,再设置仅管理员可访问的 ACL,最后设为只读隐藏,实现安全归档。

7. 排查“访问被拒绝”的文件


icacls – 查看和修改文件/目录权限

功能介绍

icacls用于显示、修改、备份和恢复文件与目录的 ACL(访问控制列表)。它是 Windows 下管理 NTFS 权限的核心工具。

语法

icacls name [/参数...]

常用操作与参数

操作/参数说明
icacls name显示 ACL,包含账户/组、权限、继承来源等。
/grant[:r] <用户>:<权限>授予权限。加:r会替换该用户之前所有显式权限;不加则追加。
/deny <用户>:<权限>拒绝指定权限(优先级高于允许)。
`/remove[:g:d] <用户>`
/reset重置为继承父目录的默认权限,所有显式设置均被清除。
/inheritance:e|d|re启用继承,d禁用继承并转换为显式权限,r移除所有继承权限并转为显式权限后禁用继承。
/setowner <用户>更改所有者(需要相应特权)。
/T递归遍历所有子目录和文件。
/C遇到错误继续执行。
/Q安静模式。
/save <文件>将 ACL 备份至文件。
/restore <文件>从备份文件还原 ACL。

权限缩写(常用掩码)

缩写含义对应基本权限
FFull Control完全控制
MModify修改
RXRead and Execute读取和执行
RRead读取
WWrite写入
(OI)对象继承(Object Inherit)权限应用于此目录中的文件
(CI)容器继承(Container Inherit)权限应用于此目录中的子文件夹
(I)继承的权限权限来自父目录

实战演练

1. 查看文件或目录的完整权限

icacls "C:\Program Files\MyApp\config.ini"

2. 授予用户完全控制权限(递归)

icacls shared_folder /grant User1:(F) /T

3. 追加读取权限(不影响已有权限)

icacls report.docx /grant "Domain Users":(R)

4. 替换特定用户的全部权限

icacls secret.doc /grant:r Admin:(F)

5. 拒绝某个用户写入

icacls data /deny Intern:(W) /T

6. 删除某个用户的所有权限

icacls project /remove "John.Doe" /T

7. 重置权限(恢复父目录继承)

icacls corrupted_folder /reset /T

8. 锁定文件夹:清除继承并仅保留管理员权限

icacls secure /inheritance:r /grant:r Admins:(F) /remove "Everyone" /T

9. 备份和恢复 ACL

icacls D:\Data\* /save acl_backup.txt /T icacls D:\ /restore acl_backup.txt

恢复时请注意路径匹配。


cipher – 显示或覆盖已删除数据

功能介绍

cipher主要用于管理 EFS(加密文件系统),但其最独特的安全功能是通过/W参数覆盖卷上的可用空间,从而彻底擦除已删除文件的数据痕迹,达到反取证目的。

语法

cipher [/E | /D] [/S:directory] [/A] [/I] [/F] [/Q] [/H] [pathname [...]] cipher /W:directory cipher /X[:efsfile] [filename]

参数详解

参数释义
/E加密指定目录,此后新添加的文件会被自动加密。
/D解密指定目录。
/S:directory对指定目录及所有子目录执行操作。
/A同时作用于文件和目录。
/I遇到错误继续执行。
/F强制对所有指定对象执行加密/解密,即使已处于相应状态。
/Q安静模式,只输出关键信息。
/H显示隐藏或系统属性的文件(默认不显示)。
/W:directory安全擦除:对directory所在卷的所有未使用空间进行三次覆写(0x00 → 0xFF → 随机数),彻底销毁已删除文件的残留数据。
/X[:efsfile]备份当前用户的 EFS 加密证书和密钥到指定文件。

关于cipher /W的重要说明

实战演练

1. 显示当前目录的加密状态

cipher

加密的条目前标有E

2. 加密一个文件夹(标记为加密)

cipher /E /S:"D:\敏感文件"

3. 解密文件夹

cipher /D /S:"D:\敏感文件"

4. 加密单个文件

cipher /E /A "report.docx"

5. 备份 EFS 证书

cipher /X backup.efs

重装系统前务必执行并妥善保管此文件。

6. 安全擦除 D 盘已删除数据

cipher /W:D:\

此操作耗时较长,取决于磁盘容量和性能,但可永久销毁已删除文件的残余磁信息。

7. 擦除特定文件夹所在卷的空闲空间

cipher /W:"C:\Users\Public"

效果与cipher /W:C:\相同。


Windows 权限简单了解

前面我们学习了attribtakeownicaclscipher等与文件权限和安全相关的命令,本节对 Windows 的账户和 NTFS 权限体系做一个简要梳理,帮助你理解这些命令背后的原理。

Windows 账户系统

Windows 账户系统不仅是“用户名+密码”的登录凭证,而是一套完整的身份认证、授权和资源隔离体系。

一、账户的本质:SID

每个账户在系统内部由一个唯一的安全标识符(SID)表示,形如S-1-5-21-...。用户名只是方便阅读的标签,所有权限相关操作(文件 ACL、注册表权限)都记录 SID,因此重命名账户不会丢失权限。

二、账户的主要类型
  1. 本地账户:仅存在于本机,离线可用。分为管理员(Administrator)、标准用户(Standard User)和来宾(Guest)。
  2. 微软账户:绑定邮箱,可同步设置,支持 Windows Hello 等无密码登录。
  3. 域账户:由企业 Active Directory 统一管理,可实现漫游和集中管控。
  4. 工作/学校账户:基于 Microsoft Entra ID(原 Azure AD),用于云办公和现代设备管理。
三、用户组与权限体系

Windows 使用组来批量管理权限,一个账户可属于多个组。关键内置组:

权限生效规则:

四、用户账户控制(UAC)

管理员账户日常运行时也只以标准权限运行,需要提升权限时(如安装软件、修改系统文件)会弹出 UAC 提示,这是“最小权限原则”的保护措施。

五、用户配置文件

每个账户首次登录时会在C:\Users\下生成以用户名命名的配置文件目录,包含桌面、文档、AppData 等个人数据。

Windows 权限系统(NTFS)

NTFS 文件系统中,每个文件和文件夹都带有一张访问控制列表(ACL),精确控制“谁(用户/组 SID)能做什么(权限掩码)”。

一、核心概念
二、基本权限与高级权限

基本权限(在“属性→安全”中常见):

基本权限含义包含的部分高级权限
完全控制所有能力,包括修改权限和取得所有权。所有高级权限
修改读取、写入、修改内容及删除。读、写、执行、删除
读取和执行浏览文件夹、运行程序、查看内容。遍历文件夹/执行文件、读取数据、读取属性等
列出文件夹内容仅限文件夹,可查看目录内容列表。遍历文件夹、读取属性
读取查看文件内容、复制。读取数据、读取属性、读取扩展属性
写入新建文件/子文件夹,修改内容。创建文件/写入数据、创建文件夹/附加数据、写入属性

高级权限(13 项):在“高级→编辑”中可见,是最小粒度权限,可灵活组合,例如“遍历文件夹/执行文件”、“删除子文件夹及文件”、“更改权限”、“取得所有权”等。

三、权限的来源与继承
四、权限冲突与生效规则
  1. 拒绝优先:任何“拒绝”与“允许”冲突时,拒绝一定胜出。
  2. 权限累积:用户及所属全部组的允许权限是并集。
  3. 有效权限 = (所有允许的并集) - (任何拒绝)
  4. 网络访问时,NTFS 权限与共享权限取交集,最严格者生效。
五、特殊身份与内置组
组名SID意义
EveryoneS-1-1-0所有用户,包括匿名(需策略开启)。
Authenticated UsersS-1-5-11所有经过身份验证的用户,不含匿名。
SYSTEMS-1-5-18操作系统最高本地身份,权限高于 Administrator。
CREATOR OWNERS-1-3-0可继承“创建者获得完全控制”的模板。常用于公共目录。
OWNER RIGHTSS-1-3-4代表对象当前的所有者。

掌握这些概念后,再回头看attribtakeownicacls的实操就会更加清晰。


综合练习

以下练习由浅入深,帮助巩固命令的使用。

1. 目录操作

任务:在 C 盘创建Practice文件夹,进入后创建三个子文件夹,查看树状结构,然后返回上一级。

mkdir Practice cd Practice mkdir Documents Pictures Music # mkdir 可同时创建多个,用空格分隔 tree cd..

2. 文件操作

任务:在 Documents 中创建notes.txt,复制并重命名到 Pictures,删除原文件,查看副本内容。

cd Documents echo 这是我的学习笔记 > notes.txt copy notes.txt ..\Pictures\photo_notes.txt del notes.txt cd ..\Pictures type photo_notes.txt

3. 批量操作(进阶)

任务:在 Music 中批量创建文件,搜索特定内容,再整体移动文件。

cd ..\Music echo. > song1.txt # 创建空文件 echo. > song2.txt echo. > song3.txt echo music > song4.txt # 内含 "music" echo. > song5.txt findstr "music" *.txt move *.* ..\Documents

4. 权限管理

任务:查看文件属性,设置只读和隐藏,查看 ACL,然后尝试修改(应被拒绝)。

cd ..\Documents attrib song1.txt attrib +h +r song1.txt icacls song1.txt echo 123 > song1.txt # 失败:拒绝访问

5. 高级复制

任务:使用robocopy完整复制多层目录结构。

cd C:\ mkdir Source cd Source mkdir a\b\c b\a\b c\a\d d\e\d robocopy . D:\Backup /E # /E 包含空子目录 tree D:\Backup

6. 数据备份场景(综合)

任务:备份项目文件夹到外部硬盘,标记为只读,并检查/清除残留数据。

xcopy 源路径 目标路径 /E /I attrib 目标路径\*.* +R cipher /C "目标路径" # 检查是否启用了 EFS 加密 cipher /W 目标路径 # 擦除已删除数据残留(谨慎使用,建议仅对 HDD 操作)

7. 系统维护场景

任务:列出 System32 下的 DLL,搜索含 “system” 的文件,获取特定文件所有权和控制权。

dir "C:\Windows\System32\*.dll" findstr /I /M "system" "C:\Windows\System32\*.dll" takeown /F "C:\Windows\System32\target.dll" /A icacls "C:\Windows\System32\target.dll" /grant Administrators:F

8. 文件搜索与整理

任务:按类型分类存放文档。

dir /a *.docx dir /a *.pdf mkdir Save\Docx Save\Pdf move 源路径\*.docx Save\Docx move 源路径\*.pdf Save\Pdf

9. 批处理脚本:按日期备份(挑战)

功能:创建日期命名的备份文件夹,复制指定目录,记录日志。
将以下代码保存为backup.bat,在管理员 CMD 中执行:backup.bat 源路径 目标根路径

@echo off setlocal EnableDelayedExpansion if "%~2"=="" ( echo 用法: %~nx0 源路径 备份根路径 pause exit /b 1 ) set "SOURCE_DIR=%~f1" if not exist "%SOURCE_DIR%" ( echo 源目录不存在 exit /b 1 ) set "BACKUP_ROOT=%~f2" :: 获取日期时间(调用 PowerShell 以保证格式统一) for /f "tokens=1,2" %%A in ('powershell -NoProfile -Command "Get-Date -format 'yyyy-MM-dd HH:mm:ss'"') do ( set "DATE_FOLDER=%%A" set "LOG_TIME=%%A %%B" ) set "BACKUP_DEST=%BACKUP_ROOT%\%DATE_FOLDER%" set "LOG_FILE=%BACKUP_ROOT%\backup.log" if not exist "%BACKUP_DEST%" ( mkdir "%BACKUP_DEST%" if errorlevel 1 ( echo %LOG_TIME% - 错误:无法创建备份目录 "%BACKUP_DEST%" >> "%LOG_FILE%" goto :error ) echo %LOG_TIME% - 已创建备份目录 "%BACKUP_DEST%" >> "%LOG_FILE%" ) echo %LOG_TIME% - 开始从 "%SOURCE_DIR%" 复制到 "%BACKUP_DEST%" >> "%LOG_FILE%" robocopy "%SOURCE_DIR%" "%BACKUP_DEST%" /E /COPY:DAT /R:3 /W:5 /NP /LOG+:"%LOG_FILE%" >nul if errorlevel 8 ( echo %LOG_TIME% - 备份失败:robocopy 返回错误码 !errorlevel! >> "%LOG_FILE%" goto :error ) echo %LOG_TIME% - 备份成功,源: "%SOURCE_DIR%" 目标: "%BACKUP_DEST%" >> "%LOG_FILE%" echo 备份成功,日志文件: "%LOG_FILE%" endlocal exit /b 0 :error echo 备份失败,日志文件: "%LOG_FILE%" endlocal exit /b 1

提示:如果脚本包含中文,建议保存为ANSI编码,否则在命令行中可能显示乱码。

10. 安全清理脚本(管理员运行)

功能:删除%TEMP%中所有.tmp文件,可选cipher擦除空闲空间,修复写入权限。
保存为cleanup.bat,右键“以管理员身份运行”。

@echo off setlocal EnableDelayedExpansion :: 管理员权限检查 net session >nul 2>&1 if errorlevel 1 ( echo 错误:此脚本必须以管理员身份运行! pause exit /b 1 ) echo 正在进行初始化... set "LOG_FILE=%~dp0cleanup_log.txt" set "TEMP_DIR=%TEMP%" for /f "tokens=1,2" %%A in ('powershell -NoProfile -Command "Get-Date -format 'yyyy-MM-dd HH:mm:ss'"') do set "LOG_TIME=%%A %%B" echo %LOG_TIME% - 安全清理脚本启动(管理员) >> "%LOG_FILE%" :: 检查临时文件夹写入权限 set "TEST_FILE=%TEMP_DIR%\perm_test_%random%.tmp" echo. 2>nul > "%TEST_FILE%" if exist "%TEST_FILE%" ( echo 权限正常:可写入临时文件夹。 echo %LOG_TIME% - 权限正常 >> "%LOG_FILE%" del "%TEST_FILE%" >nul 2>&1 ) else ( echo 权限异常,尝试修复... echo %LOG_TIME% - 权限异常,尝试修复 >> "%LOG_FILE%" icacls "%TEMP_DIR%" /inheritance:e /grant "%USERNAME%:(F)" /T >nul 2>&1 if errorlevel 1 ( echo %LOG_TIME% - 权限修复失败 >> "%LOG_FILE%" pause exit /b 1 ) else ( echo %LOG_TIME% - 权限已修复 >> "%LOG_FILE%" ) ) :: 清理 .tmp 文件 echo %LOG_TIME% - 开始删除 *.tmp 文件 >> "%LOG_FILE%" set "DEL_COUNT=0" for /r "%TEMP_DIR%" %%F in (*.tmp) do ( if exist "%%F" ( del /f /q "%%F" >nul 2>&1 if not exist "%%F" ( set /a DEL_COUNT+=1 echo %LOG_TIME% - 已删除: "%%F" >> "%LOG_FILE%" ) else ( echo %LOG_TIME% - 删除失败: "%%F" >> "%LOG_FILE%" ) ) ) echo %LOG_TIME% - 共删除 !DEL_COUNT! 个 .tmp 文件 >> "%LOG_FILE%" echo 已清理 !DEL_COUNT! 个临时文件。 :: 可选 cipher 擦除 set "DO_CIPHER=0" echo. echo ===================================== echo 是否执行安全擦除 (cipher)? echo 这将覆盖已删除文件的空间,防止恢复,可能需要较长时间。 echo ===================================== set /p "USER_INPUT=请输入 Y 执行擦除,或直接回车跳过: " if /i "!USER_INPUT!"=="Y" set "DO_CIPHER=1" if "!DO_CIPHER!"=="1" ( echo %LOG_TIME% - 开始 cipher /w 擦除... >> "%LOG_FILE%" echo 正在安全擦除空闲空间,请耐心等待... cipher /w:"%TEMP_DIR%" >nul if errorlevel 1 ( echo %LOG_TIME% - cipher 运行出错,错误码 !errorlevel! >> "%LOG_FILE%" ) else ( echo %LOG_TIME% - cipher 已完成 >> "%LOG_FILE%" ) ) else ( echo %LOG_TIME% - 用户跳过安全擦除 >> "%LOG_FILE%" echo 已跳过安全擦除。 ) echo %LOG_TIME% - 清理流程结束 >> "%LOG_FILE%" echo. echo 全部操作完成!日志文件: %LOG_FILE% pause >nul endlocal exit /b 0

注意:cipher /W仅对机械硬盘有效,且耗时较长;SSD 用户建议使用官方安全擦除工具。


至此,我们对 Windows 命令行中的文件管理、权限控制、搜索与数据清理有了全面且深入的理解。将这些命令组合运用,便能编写出自动化运维脚本。

上一篇:CMD命令自修实战手册 | 第一篇:文件与目录管理(上)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 14:47:16

VLC for Android:打造跨平台全能媒体播放器的终极指南

VLC for Android&#xff1a;打造跨平台全能媒体播放器的终极指南 【免费下载链接】vlc-android VLC for Android, Android TV and ChromeOS 项目地址: https://gitcode.com/gh_mirrors/vl/vlc-android VLC for Android是VideoLAN组织开发的官方Android平台多媒体播放器…

作者头像 李华
网站建设 2026/7/5 14:45:30

003MySQL最常用的数据类型详解

文章目录 前言 一、MySQL常用数据类型概览 二、整数类型&#xff08;INT、TINYINT&#xff09; 1. INT&#xff08;标准整数&#xff09; 2. TINYINT&#xff08;小整数&#xff09; 三、精确小数类型&#xff08;DECIMAL&#xff09; 四、字符串类型&#xff08;VARCHA…

作者头像 李华
网站建设 2026/7/5 14:44:39

多元统计实验1

第一部分&#xff1a;核心知识点与详细解析知识点 1&#xff1a;对称矩阵的特征值分解&#xff08;Eigendecomposition&#xff09;核心公式&#xff1a;AQΛQTAQΛQT。其中 QQ 是特征向量矩阵&#xff08;正交矩阵&#xff09;&#xff0c;ΛΛ 是对角线上为特征值的对角矩阵。…

作者头像 李华
网站建设 2026/7/5 14:43:34

Mi-Create终极指南:免费打造小米手表个性化表盘的完整教程

Mi-Create终极指南&#xff1a;免费打造小米手表个性化表盘的完整教程 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 想要为你的小米智能手表设计独一无二的个…

作者头像 李华