我正在尝试创建一个脚本,该脚本将C:\ Users \中的特定文件夹和文件从三个终端服务器复制到文件服务器上。 问题是,我根据复制文件夹的名称在文件服务器上创建文件夹。当脚本尝试根据文件而不是文件夹在文件服务器上创建文件夹时,脚本会失败。
(很抱歉,图片上的文字是丹麦语! - 希望它仍然有用。) 我希望脚本更有意义,谢谢! :)
$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 "***********"
答案 0 :(得分:0)
同时在copy-item
Write-Host "Copy-Item $CopyFile $ToDirPlusUser -Recurse"
它将帮助您区分哪个文件/目录正在创建错误。