使用PowerShell复制每个用户的数据

时间:2014-04-11 21:28:26

标签: powershell copy directory

我有一个文本文件,其中的用户名列表用分号分隔,文本文件中的用户名是:user1;用户2; user3等。用户名都有一个位于\ testserver \ users \ user1,\ testserver \ users \ user2的网络文件夹,依此类推。

我正在尝试让PowerShell脚本读取文本文件,并将每个用户的每个文件夹中的文件夹和所有数据从一个位置复制到名为\ testserver \ newusers \ users的另一个位置。但是,当我启动我到目前为止编写的脚本时,它只是从我拥有的文本文件创建一个带有用户名的文件夹。以下是我到目前为止:

$File = Get-Content .\MyFile.txt
$File | ForEach-Object {
    $_.Split(';') | ForEach-Object {
        Copy-Item -Path "$_" -Destination '\\testserver\newusers\users'
    }
}

我从其中包含myfile.txt文件的位置启动PowerShell .ps1文件。

如何使其正常工作?

1 个答案:

答案 0 :(得分:0)

如果您还要复制文件夹的内容,请使用参数Copy-Item致电-Recurse。否则只会复制文件夹本身(没有内容)。除非您从\\testserver\users运行脚本,否则还需要提供源文件夹的完整路径。

这样的事情应该有效:

$server = 'testserver'
$src = "\\$server\users"
$dst = "\\$server\newusers"

(Get-Content .\MyFile.txt) -split ';' | % {
  Copy-Item -Path "$src\$_" -Destination "$dst\" -Recurse
}