2014-05-20 75 views
0

我試圖創建一個腳本,將從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 "***********" 

回答

0

同時添加上述copy-item

Write-Host "Copy-Item $CopyFile $ToDirPlusUser -Recurse" 

這條線這將幫助你在哪個文件/目錄創建錯誤防區英寸

+0

你好 - 感謝您的回覆。 我嘗試了你的建議,但我仍然得到相同的錯誤,如圖所示。 /David。 – Arviddk

+0

你將不得不發佈錯誤_and_翻譯它。我的丹麥語有點生疏.. – Raf

+0

也在'copy-item'' write-host「Copy-Item $ CopyFile $ ToDirPlusUser -Recurse」上面加上這一行,它會幫助你區分哪裏出錯和哪裏。 – Raf

相關問題