假设 Windows 10 中有以下文件夹层次结构:
data
acme widgets
2022
2023
2024
gizmos
2023
etc1
etc2
...
etc999
层次结构中的“acme widgets”和“gizmos”级别有数百个同级文件夹,其中一些将包含 2024 文件夹,如acme widgets,而另一些则不会,如gizmos。但那些没有2024文件夹的人有时会将其添加到其子文件夹中,并且有时会将一个或多个文件添加到2024文件夹中。那时我需要采取一些行动。
因此,我希望能够单击一个桌面图标,该图标仅显示文件夹数据下包含2024子文件夹(其中包含一个或多个文件)的文件夹列表(最好是可导航的文件夹列表)。无法预测这些文件的名称。使用Power Shell可以创建这样的智能桌面图标吗?如果是,我需要加快哪些功能(即命令名称)?
FWIW,我正在处理存储在由其他人维护的层次结构中的文件夹和文件,他们不会让我知道何时在这些子文件夹之一中创建了 2024 年文件夹或何时添加了文件到它。
我不想向文件夹层次结构添加任何类型的“侦听器”;只需某种过滤机制就足够了。
在PowerShell中,定义搜索相对简单。为了将结果合并到可浏览的集合中,我喜欢使用文件夹快捷方式,这是一种仅 shell 目录连接,其行为类似于真正的文件夹。
编辑:解释遵循下面的代码和说明
将代码复制到记事本中并另存为
.ps1
文件:然后,在您的桌面上:
New >
->Shortcut
PowerShell -File '<path to .ps1 file>'
Next
,将其命名为您喜欢的名称,然后Finish
。注意:如果您从未在计算机上运行过PowerShelll脚本,则可能需要修改ExecutionPolicy。为此,请打开 Windows PowerShell 控制台并键入:
Set-ExecutionPolicy RemoteSigned
现在就可以走了。
逻辑:
Get-ChildItem -Path $DataPath -Directory -Recurse -Depth 1
Name
以仅选择名为“2024”的文件夹(公司文件夹可以作为该文件夹的属性进行访问)where name -eq '2024'
[Bool](Get-ChildItem -File)
如果文件夹不包含文件则为 false)where {Get-ChildItem $_.FullName -File}
...什么是文件夹快捷方式?
Windows Shell 的最佳技巧之一。在文件系统级别,它由一个文件夹组成,该文件夹的名称将是快捷方式的显示名称。该文件夹包含两个文件,一个“Target.lnk”文件,它是目标文件夹的“普通”快捷方式,另一个是带有神奇咒语的“desktop.ini”:
Attributes
EXplorer 详细信息视图中的列来访问,而不能通过“属性”对话框中的误导性复选框来访问。设置该属性后,文件夹将显示目标文件夹的内容,就好像它是它自己的内容一样——命名空间连接。请注意,可以删除快捷方式本身,而不会影响目标的内容,但快捷方式的内容就是目标的内容——从任一位置创建、编辑和删除项目将在另一个位置看到,因为它们是目标的内容。相同的项目。
参考文献: