Я хотел бы использовать Powershell для поиска папок, содержащих указанное c слово, а затем заглянуть внутрь них для указанного c типа файла. У меня возникают проблемы с выяснением, как это сделать с помощью 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, потому что я запускаю его на Ma c, и ему не нравится сервер SMB. Поэтому я хочу попробовать сделать то же самое на компьютере Windows, потому что он надежно подключен к серверу.
То, что я делаю здесь, - это проникновение в две папки из начального каталога -maxdepth 2
и ищет там любые папки, заканчивающиеся на _OUTPUT -type d -iname '*_OUTPUT'
. Затем, просматривая внутри этих папок любые файлы с расширением .psd -exec find {} -type f -iname '*.psd'
, игнорируем скрытые файлы, которые могут попасть в поиск -not -path "*.\_*"
. Все найденные файлы выводятся в виде полного пути к листу CSV.
Я могу искать папки в Powershell, используя -directory
, и искать типы файлов, используя Get-ChildItem
, но у меня возникают проблемы с выяснением. как объединить их, как я делал выше, используя Bash. Есть ли мастер Powershell, который мог бы помочь?