0

我有一個robocopy作業來將文件從一個文件夾複製到另一個位置。將powershell變量傳遞給robocopy

"D:\inetpub\www.test.com.au\App_Data\Indexes" "D:\inetpub\www.test2.com.au\livewww\App_Data\Examine" /MIR /IS /MON:1 /MOT:5 

這是工作正常,但我們已經使用八達通的部署和Web根文件夾,即D:\inetpub\www.test2.com.au\livewww\App_Data\Examine是不一樣的開始,之後是不斷變化的每部署像

D:\Octopus\Dev\Presentation.Web\2017.9.320-ap\App_Data\Examine 
D:\Octopus\Dev\Presentation.Web\2017.9.321-ap\App_Data\Examine 
D:\Octopus\Dev\Presentation.Web\2017.9.322-ap\App_Data\Examine 

我想到的是要使用PowerShell獲取網站www.test2.com.au的當前根目錄並將此位置傳遞給robocopy。

我是新來的powershell,從來沒有在PowerShell中工作,所以我的問題是,它可以使用PowerShell和Robocopy在一起,如獲取網站的當前根www.test2.com.au並傳遞給robocopy執行命令。這怎麼可能?任何幫助,將不勝感激

在此先感謝

+0

這似乎在你的問題的後半部分爲我工作。分配變量'$ pyoi_prcsmsg =「D:\ home \ work \ fb440.dumper \ ps_list_prcsmsg.py」'。然後執行命令'&「python」「$ pyoi_prcsmsg」'。所以....'&「robocopy」「D:\ inetpub \ www.test.com.au \ App_Data \ Indexes」「$ rootvar」'也許? –

+0

要澄清,你只是要使用文件夾名稱來確定目標?或者你要查詢IIS的物理文件路徑?我使用Visual Studio Team Services,其中一件事是他們在執行之前在腳本上執行字符串替換,這會更改如何管理轉義字符串數據。 – PSGuy

+0

我將查詢IIS的物理路徑 –

回答

0

是的,你在做什麼是可能的。用於Windows PowerShell的Web服務器管理模塊包含Internet信息服務(IIS)cmdlet,可用於管理IIS的配置和運行時數據。

import-module WebAdministration 
$physicalPath = Get-WebSite "Default Web Site" | % PhysicalPath 

,或者如果它是一個Web應用程序

$physicalPath = Get-WebApplication "Web.Application" -Site "Default Web Site" | % PhysicalPath 

現在你可以調用外部exe文件,如ROBOCOPY時使用$physicalPath變量。