在上一期的内容中,我们详细了解了用于查看文件夹结构的tree命令和dir命令,以及用于在不同文件夹之间切换的cd命令。今天,我们将深入探讨批处理语言中与目录(文件夹)相关的操作指令,具体包括如何创建新文件夹以及如何删除现有文件夹。
图1-1
用户可以在当前的目录下直接创建新的子文件夹,也可以指定一个绝对路径来创建文件夹。例如,假设我们的目标是创建一个位于D盘根目录下的五级目录结构,具体路径为D:\1\2\3\4\5。通常情况下,我们需要逐级创建这些目录。然而,利用md命令,我们可以一次性完成整个目录的创建过程:
md d:\1\2\3\4\5
图1-2
需要注意的是,如果目标文件夹已经存在,系统会弹出提示,告知该文件夹已经存在。
图1-3
为了解决这个问题,我们可以结合使用if命令来进行存在性检查。通过以下命令,我们可以确保只有当目标文件夹不存在时,才会执行创建操作:
if not exist d:\1\2\3\4\5 md d:\1\2\3\4\5
图1-4
小提示:将md命令与if命令结合起来使用,可以显著提高操作的灵活性和准确性。
图2-1
以我们刚才创建的目录结构为例,假设现在需要删除名为“5”的文件夹。我们可以使用以下命令来完成删除操作:
rd d:\1\2\3\4\5
图2-2
那么,如果需要同时删除多个文件夹,比如“3”和“4”这两个子文件夹,应该如何操作呢?这里我们可以使用rd命令的/s参数,它会递归地删除指定目录及其所有子目录:
rd /s d:\1\2\3
图2-3
执行上述命令后,系统会提示确认删除操作,此时用户需要输入“是”(Y)或“否”(N)来确认。为了避免每次删除时都需要手动确认,我们可以添加/q参数,以实现静默删除:
rd /s /q d:\1\2\3
图2-4
再进行一次操作演示,比如现在我们在D:\1\2目录下创建一个新的文本文件,然后尝试使用以下命令来删除整个D:\1目录:
rd /s /q d:\1
图2-5
结果显示,D:\1目录及其所有子目录都被彻底删除了。
小提示:/s和/q参数的组合使用具有强大的删除功能,它们会直接删除所有指定目录及其内容,而不会将文件移至回收站。因此,在执行删除操作前,务必确认目标文件夹不再需要。
当然了,对于那些通常用于存储临时文件的目录,如%temp%或%tmp%(路径为C:\Users\Administrator\AppData\Local\Temp),我们可以使用以下命令来快速清理:
rd /s /q %temp%
清理前-临时文件夹
清理后-临时文件夹