我想在部署之前清理网站。为了做到这一点,我使用西米利都远程运行电源外壳删除除某些特定文件之外的所有文件:
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 $_}'"
但管道和 foreach 似乎存在问题,无法正确解析和捕获命令。
我该怎么做?还有其他方法可以使用正则表达式来清除网站中的排除项吗?PsExec 在环境中不起作用,所以对我来说这不是一个选择,恐怕。
答案1
尝试通过直接调用来消除管道Remove-Item
:
Remove-Item (Get-ChildItem C:\Optima-QA2 -File -Name -Recurse -Force -Exclude .*\.7z, .*\.lic, [Ww]eb\.config) -WhatIf
该WhatIf
参数会显示不实际执行删除操作时会发生什么。这是测试不使用参数时会删除哪些内容的好方法。