我在工作中设置了TFS Deployer currenlty,并尝试为部署编写Powershell脚本。我已经在StackoverFlow上研究并阅读了许多已发布的问题和答案,但我还是无法使脚本正常工作。
到目前为止,当我在Windows PowerShell ISE上运行以下PS时,它会运行。
$ envMsDeploy = $ env:msdeploy
$ DirMsDeploy = split-Path -Parent $ envMsDeploy
#将当前位置定义为$ DirMSDeploy = C:\ Program Files \ IIS \ Microsoft Web Deploy V2
设置位置$ DirMsDeploy
$ arg = @(
'-verb:同步';
'-source:contentPath ='+ $ buildDroppedLocation;
'-dest:contentPath ='+ $ destinationPath;
'-whatif> C:\ TEMP \ msdeploy.log'
)
$ runMSDeploy =($ DirMsDeploy +“\ Msdeploy.exe”+ $ arg)
$ runMSDeploy |输出文件c:\ temp \ MsDeployTest.bat
我把最后一句用于确认保存的内容$ runMSDeploy。现在看起来$ runMSDeploy保存了我想要放的东西。
MSDeployTest.Bat包含C:\ Program Files \ IIS \ Microsoft Web Deploy V2 \ Msdeploy.exe -verb:sync -source:contentPath = [[c:\ source folder]] -dest:contentPath = [[Detination UNC路径]] -whatif> C:\ TEMP \ msdeploy.log
这就是我现在陷入困境的地方。由于c:\ Program文件包含空文件夹,cmd不能成功运行而不是给我错误,“cmd.exe:'C:\ Program'不被识别为内部或外部命令”
如果您有任何建议或想法,请告诉我。
感谢,
wanttogoshreddingeveryday
答案 0 :(得分:0)
这是一个使用参数
启动notepad.exe的小例子function F([string]$file)
{
notepad.exe $file
}
Clear-Host
F "c:\Temp\fic.txt"
JP
答案 1 :(得分:0)
试试这个要点。它应该包含您通过powershell https://gist.github.com/579086
部署所需的一切它使用Psake,但没有它也可以。