I want to clean a website before a deploy. In order to do that, I use WMIC to run remotely and Powershell to remove all the files except some specific ones:

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 $_}'"

but it seems to have problems with the pipe and the foreach, to parse and catch properly the command.

How can I do that? Is there other possibility to clean a website using regex for exclusions? PsExec is not working in the environment, so it's not an option to me, I'm afraid.


Try eliminating the pipe by calling Remove-Item directly:

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

The WhatIf parameter will show you what would happen without actually performing the removal. This is a great way to test what would be deleted without the parameter.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.