【发布时间】:2016-04-04 14:10:01
【问题描述】:
我工作过的大多数公司都使用模板文件夹结构开始新项目。 Windows 将自动标记空文件夹(文件资源管理器中显示的图标是空文件夹的图标),但是,子文件夹也为空的文件夹不会被标记(它们的图标显示包含文件的文件夹)。这可能会在项目的早期阶段造成混乱并导致错误,因为乍一看,某些文件夹实际上只包含空的子文件夹时添加了内容。
所以我的问题是:
如何遍历具有空子文件夹的文件夹并通过使用批处理文件“标记”它们。
.bat 文件需要搜索子文件夹以确定文件夹是否有任何真实内容。如果文件夹没有实际内容,则 .bat 文件需要对其进行标记(可以通过更改其图标或文件名来完成标记)。这将使导航具有大型模板文件夹结构的新项目变得更加容易。
我不需要完整的文件,我只想知道如何实现。但是,我们非常欢迎任何有关如何实现此功能的提示或建议!
*编辑
为了澄清,我将举一个例子: 如果我创建一个名为“Project”的空文件夹,它将显示 Empty Folder 图标。如下图:
现在我将在我的项目文件夹中添加一个名为“I am Empty”的新文件夹:
文件夹“项目”不再显示 空文件夹 图标。它现在使用显示内容的图标。如下图:
我想要的是一个 .bat 文件,它将解析“Project”文件夹的内容并确定它只包含“I am Empty”文件夹,该文件夹是空的并“标记”该文件夹(标记它我们可以将“项目”文件夹的图标改回 Empty Folder 图标,更改名称或“将其变灰”)。如下图:
【问题讨论】:
-
“Windows 将自动标记空文件夹” - 我不明白,你在这里想说什么。当我创建一个空文件夹时,Windows 不会做任何事情。它只是文件系统中的另一个文件夹。
-
对,我要标记包含空文件夹的文件夹...
-
如果 PowerShell 是一个选项,您可以让您的生活变得更轻松(请参阅Windows PowerShell Tip of the Week: Finding All the Empty Folders in a Directory Tree)。我还是不太明白你所说的“flag”是什么意思。如果你解释得更好一点,可能会让你的问题更清楚。或者完全忽略它,因为这与您的问题无关:识别所有空目录。
-
我只是添加了一些比单独的文字更能说明问题的例子。另外,在我最初的问题中,我声明:(标记可以通过更改其图标或文件名来完成)。因此,如果无法更改图标。我也可以使用 .bat 文件将文件夹从“项目”重命名为“项目(空)”。
-
你所谓的 "flagging" 并归因于 Windows 实际上是文件资源管理器的详细信息窗格的一个功能。它既与 Windows 无关,也不是分配给目录的属性,也不是您可以分配给文件夹的属性。如果你想自定义资源管理器的显示,一个 .bat 文件是不行的。您必须实现一个 shell 扩展(我认为 Preview Handler,但我对此并不完全确定)。
标签: windows batch-file cmd filesystems