2016-02-05 82 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

相关问题