Powershell脚本从机器列表中搜索文件类型,然后将结果复制到以机器命名的目录中

时间:2014-03-11 20:51:07

标签: powershell

这是我到目前为止所做的工作。它正在搜索计算机列表,将所有计算机中的所有文件放在一个文件夹中。

我试图将文件放在一个以它们来自的机器命名的文件夹中。任何人的想法?

Get-Content C:\computers.txt | Foreach-Object {
    $ComputerName = $_    
    Get-Childitem "\\$ComputerName\c$\Documents and Settings\**\desktop","\\$ComputerName\c$\Documents and Settings\**\My Documents" -Include *.xls*, *.doc*, *.txt, *.pdf, *.jpg -Recurse -Force
} | Copy-Item -Destination \\destination\share

1 个答案:

答案 0 :(得分:2)

在循环中移动Copy-Item并添加语句以创建目标文件夹:

$extensions = '*.xls*', '*.doc*', '*.txt', '*.pdf', '*.jpg', '*.pub'

Get-Content C:\computers.txt | % {
  $ComputerName = $_

  $dst = "\\destination\share\$ComputerName"
  $src = "\\$ComputerName\c$\Documents and Settings\**\desktop",
         "\\$ComputerName\c$\Documents and Settings\**\My Documents"

  New-Item -ItemType Directory $dst

  Get-Childitem $src -Include $extensions -Recurse -Force |
    Copy-Item -Destination $dst\
}