wmic + powershell запустить команду для поиска и удаления файлов

683
Luis

Я хочу очистить сайт перед развертыванием. Для этого я использую WMIC для удаленного запуска и Powershell для удаления всех файлов, кроме некоторых конкретных:

WMIC /node:server /user:user /password:pass process call create "powershell -Command 'Get-ChildItem C:\Optima-QA2 -File -Name -Recurse -Force -Exclude .*\.7z, .*\.lic, [Ww]eb\.config | foreach($_) '" 

но, похоже, есть проблемы с каналом и foreach, чтобы правильно проанализировать и перехватить команду.

Как я могу это сделать? Есть ли другая возможность очистить сайт с помощью регулярных выражений для исключений? PsExec не работает в среде, так что это не вариант для меня, я боюсь.

0

1 ответ на вопрос

0
root

Попробуйте удалить канал, позвонив Remove-Itemнапрямую:

Remove-Item (Get-ChildItem C:\Optima-QA2 -File -Name -Recurse -Force -Exclude .*\.7z, .*\.lic, [Ww]eb\.config) -WhatIf 

WhatIfПараметр покажет вам, что будет происходить без фактического выполнения удаления. Это отличный способ проверить, что будет удалено без параметра.