无法根据文件名创建文件夹

时间:2014-05-20 09:12:12

标签: powershell powershell-v2.0 powershell-ise

我正在尝试创建一个脚本,该脚本将C:\ Users \中的特定文件夹和文件从三个终端服务器复制到文件服务器上。 问题是,我根据复制文件夹的名称在文件服务器上创建文件夹。当脚本尝试根据文件而不是文件夹在文件服务器上创建文件夹时,脚本会失败。

(很抱歉,图片上的文字是丹麦语! - 希望它仍然有用。) 我希望脚本更有意义,谢谢! :)

图片:http://imgur.com/kxbzXXK

   
$ServerList = "\\ServerA", "\\ServerB" #Angiv hvilke servere der skal kopires fra,     f.eks "\\serverA", "\\serverB".
$FromDir = "\C$\Users\" #Angiv hvilken sti der skal kopires fra, f.eks "\c$\TEST"
$ToDir = "C:\DavidTest_DataMappe\"


foreach ($Server in $ServerList)
{
    $RemotePath = $Server + $FromDir
    $RemoteDirs = Get-ChildItem $RemotePath |? {$_.mode -match "d"}
    foreach($Username in $RemoteDirs | where-object {$_.Name.Length -le 4})
        {
                $FileList = "\Desktop",
                             #"\Documents", 
                             #"\Music", 
                             #"\Pictures",
                             #"\Videos",
                             #"\Favorites",
                             #"\Links"#,
                             "\AppData\Local\Google\Chrome\User Data\Default\Bookmarks",
                             "\AppData\Roaming\Mozilla\Firefox\Profiles\*.default\places.sqlite"

                foreach($File in $FileList)
                {
                  ECHO "Copying folder"
                  $ToDirPlusUser = $ToDir + $Username + $File
                  $CopyFile = $RemotePath + $Username + $File
                  Copy-Item $CopyFile $ToDirPlusUser -Recurse
                }

        }

}
ECHO "***********"
ECHO "***********"
ECHO "Script Done"
ECHO "***********"
ECHO "***********"

1 个答案:

答案 0 :(得分:0)

同时在copy-item

上方添加此行
Write-Host "Copy-Item $CopyFile $ToDirPlusUser -Recurse"

它将帮助您区分哪个文件/目录正在创建错误。