0

我正在尝试在 Powershell 中创建一个同步脚本,以便我在 MDT 中的应用程序根据文件夹名称定期复制到我们的主文件服务器(在 MDT 中,应用程序位于一个文件夹中,我们的主服务器有应用程序根据使用它们的部门进行拆分)。

从我在网上阅读的内容来看,最好的方法是用“Get-ChildItem”填充一个数组,我有点想知道该怎么做(见下面的代码)。

但是,在填充数组后,我不知道如何在该数组中搜索特定结果,也不知道如何将这些结果与复制项一起使用。

简而言之,这就是我需要做的事情:使用“Get-ChildItem”构建一个数组,查询结果数组以查找特定文件夹,并将这些文件夹复制到特定目的地。

这是我到目前为止的代码:

$arr = Get-ChildItem \\slmtl-wds02.domain.inc\deploymentshare$\applications | 
   Where-Object {$_.PSIsContainer} | 
   Foreach-Object {$_.Name}
$sourcepath = \\slmtl-wds02.domain.inc\deploymentshare$\applications
$destSLARC = \\slmtl-fs01.domain.inc\folder\it_services\private\software\service_desk\pc\SLARCMTL
$destSLMTL = \\slmtl-fs01.domain.inc\folder\it_services\private\software\service_desk\pc\SLMTL
$destSLGLB = \\slmtl-fs01.domain.inc\folder\it_services\private\software\service_desk\pc\SLGLB
$destSLTECH = \\slmtl-fs01.domain.inc\folder\it_services\private\software\service_desk\pc\SLTECH

在此先感谢您的帮助 :)

4

2 回答 2

0

希望这可以将路径 D:\ 更改为您想要的路径输入您要查找的文件夹的名称

$Keyword=[Microsoft.VisualBasic.Interaction]::InputBox("Enter your Query") 
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null
Get-ChildItem D:\ -recurse | Where-Object {$_.PSIsContainer -eq $fasle -and $_.Name -match "$keyword"} | Copy-Item -Destination d:\test
于 2016-07-06T17:24:38.480 回答
0
$sourceLocation = "c:\analysis\"
$targetLocation = "c:\analysisCopy\"
$included = @("folder1", "folder2")

$result = @()
foreach ($i in $included){
    $result += get-ChildItem $sourceLocation -filter $i | Where-Object {$_.PSIsContainer}
}
$result | foreach-Object { copy-item $_.FullName -Destination $targetLocation -Recurse} 
于 2016-07-06T18:57:06.377 回答