wmic + powershell executa um comando para procurar e remover arquivos

0

Eu quero limpar um site antes de implantar. Para fazer isso, eu uso WMIC para executar remotamente e PowerShell para remover todos os arquivos, exceto alguns específicos:

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($_) {remove-item $_}'"

mas parece ter problemas com o pipe e o foreach, para analisar e capturar corretamente o comando.

Como posso fazer isso? Existe outra possibilidade de limpar um site usando regex para exclusões? O PsExec não está funcionando no ambiente, então não é uma opção para mim, estou com medo.

    
por Luis 23.03.2018 / 23:29

1 resposta

0

Tente eliminar o pipe chamando Remove-Item diretamente:

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

O parâmetro WhatIf mostrará o que aconteceria sem executar a remoção. Essa é uma ótima maneira de testar o que seria excluído sem o parâmetro.

    
por 24.03.2018 / 15:07