Как можно добиться исключения файлов в PowerShell? - PullRequest
0 голосов
/ 19 января 2011

У меня есть сценарий PowerShell на производственном сервере, чтобы показать мне список файлов резервных копий базы данных, которые старше 30 дней.

Мне нужно видеть только файлы с расширением ".bak",Однако в моем скрипте отсутствует соответствующий синтаксис или регулярное выражение , поэтому я также вижу список файлов с расширением, например «filename.foo.bak».Эти файлы могут быть текстовыми файлами или другими файлами конфигурации на сервере, для которых программа, использующая эти файлы, автоматически создала резервные копии.

Как включить фильтр совпадений, чтобы я мог видеть только "* .bak"а не другие файлы, как упомянуто выше?

Как уже упоминалось mjolinor, я использовал этот сценарий для исключения.

gci $paths -recurse -filter *.bak -exclude *.*.bak | ?{!$_.psiscontainer}

Однако я узнал, что мне нужно исключить некоторыесистемные папки, такие как C: \ Windows .Как это можно сделать?

1 Ответ

2 голосов
/ 19 января 2011

Попробуйте:

gci *.bak -exclude *.*.bak

Я пытался ответить на ваш комментарий, но код не отображается правильно-exclude принимает аргумент string [], поэтому:

gci -recurse -filter *.bak -exclude *.*.bak,windows |? {!$_.psiscontainer}
...