【发布时间】:2020-01-28 17:12:59
【问题描述】:
我想使用 Powershell 查找包含特定单词的文件夹,然后在其中查找特定文件类型。我无法弄清楚如何使用 Powershell 执行此操作。
find . \
-type d -iname '*_OUTPUT' -maxdepth 2 \
-exec find {} -type f -iname '*.psd' -not -path "*.\_*" \; >> /Volumes/Path-to-output-folder/Output.csv
这是我编写的在终端中运行的 Bash 脚本。它有时可以工作,但它也会定期使 SMB 服务器连接崩溃,因为我在 Mac 上运行它并且它不喜欢 SMB 服务器。所以我想尝试在 Windows 机器上做同样的事情,因为它与服务器有可靠的连接。
我在这里所做的是进入起始目录-maxdepth 2 深处的两个文件夹,并在那里查找以_OUTPUT -type d -iname '*_OUTPUT' 结尾的任何文件夹。然后,在这些文件夹中查找扩展名为 .psd -exec find {} -type f -iname '*.psd' 的任何文件,忽略可能在搜索 -not -path "*.\_*" 中发现的隐藏文件。找到的任何文件都会作为 CSV 工作表的完整路径输出。
我可以使用 -directory 在 Powershell 中查找文件夹,并使用 Get-ChildItem 查找文件类型,但是我无法像上面使用 Bash 那样将它们组合起来。那里有可以提供帮助的 Powershell 大师吗?
【问题讨论】:
标签: windows bash powershell file directory