2016-02-05 78 views
1

我有一個功能,將更改文件名並將其移動到特定的計算機。該功能被複制到另一臺計算機上,所以我現在每個文件名都有兩個特定的功能。我似乎無法弄清楚如何讓腳本選擇我希望它使用的功能。這裏是我試過沒有運氣:如何使用Powershell根據文件名選擇特定功能?

$files = dir -Path \\server\PPTV\*\*.* -Include atrium.*, clirel.* -Recurse {   
    (If ($file.FullName -eq "atrium.*" | Rename-Copy-Atrium), 
    (If ($file.FullName -eq "clirel.*" | Rename-Copy-Clirel))) 
} 

我怎樣才能得到這個管道的功能和運行?例如Rename-Copy-Atrium是其中一個函數名稱。

+0

如何鞏固也許這些功能呢?此外,您發佈的代碼不是有效的PowerShell。 –

+0

我想我已經設置正確,新網站,請原諒我。 – pwebz22

+0

重命名文件後,函數將移動文件,然後重新啓動文件發送到的計算機。這甚至可以在一個腳本中完成嗎?我將它作爲SQL工作來運行。我需要從一個單獨的文件中調用函數嗎? – pwebz22

回答

0

正確的語法在PowerShell中if()的說法是:

if([condition]) 
{ 
    [execute this code] 
} 

所以,你會想要做的事,如:

$files = dir -Path \\server\PPTV\*\*.* -Include atrium.*, clirel.* -Recurse 

foreach($file in $files) 
{ 
    if($file.FullName -like "atrium.*") 
    { 
     # I assume the function takes a fileinfo object as a parameter argument 
     Rename-Copy-Atrium $file 
    } 
    elseif($file.FullName -like "clirel.*") 
    { 
     Rename-Copy-Clirel $file 
    } 
} 
+0

上述僅處理其中一項功能。我可能會錯過一些角色,以至於第一個函數被跳過,但在第二個函數中工作。我會在回顧完整的事情後發佈我的功能。 – pwebz22

相關問題