2014-02-20 19 views
4

我想要執行生成後步驟,以便使用MSDeploy將某些文件複製到網站文件夾中。MSDeploy - 同步命令將文件複製到iis應用程序的子文件夾

最終,我會做這個遠程位置(指定computerNameuserName開關等),但現在我在本地運行它:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
    -AllowUntrusted -verb:sync 
    -source:dirPath="D:\files_to_copy" 
    -dest:iisApp="My Website Name" 

這工作,但它會刪除所有網站文件夾的內容,並將它們替換爲「D:\ files_to_copy」的內容(如您所期望的那樣)。所以我想知道如何使用這個簡單的複製到網站內的子文件夾?

我試過-dest:iisApp="My Website Name/my_subfolder"但這只是創建了一個名爲「my_subfolder」嵌套在現有的IIS應用程序中的一個新的IIS應用程序。

任何建議非常感謝。

回答

7

providers比iisApp其他,也許dirPath是你想爲-dest藏漢?:

  • dirPath的之一:dirPath提供商同步目錄的內容。
  • filePath:filePath提供程序同步各個文件。
  • iisApp:本iisApp提供商同步目錄內容到一個文件夾,並標記該文件夾作爲一個應用程序。
  • contentPath:contentPath提供程序同步網站內容。上述
+0

dirPath的主要問題是我不想指定絕對路徑。相反,我只是想將它添加到網站上,而不管它實際位於何處(對不起,我應該在我的問題中提到這一點)。有什麼方法可以使用環境變量或類似的東西動態獲取IIS應用程序的路徑嗎? – WheretheresaWill

+0

我沒有使用它,但可以「contentPath」是你在找什麼?怕我沒有基礎設施來爲你做測試。 –

+0

我會檢查出來 - 謝謝你的建議。 – WheretheresaWill

3

安德斯的答案提供正確的信息,但我成功地用於從事這項運動的完整代碼如下:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
    -AllowUntrusted -verb:sync 
    -source:contentPath="D:\files_to_copy" 
    -dest:contentPath="My Website Name\my_new_folder" 

添加一個文件到網站(例如

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
    -AllowUntrusted -verb:sync 
    -source:contentPath="D:\my_folder\robots.txt" 
    -dest:contentPath="My Website Name\robots.txt" 

希望這是對別人的將來有用的例子:robots.txt的)可以使用下面的完成。

相關問題