2017-03-28 40 views
0

我有一个文件大小高达33 + GB的集合,将文件夹集合复制到子文件夹中的脚本

这些文件有415个文件夹。

CD0001 
CD0002 
CD0003 
CD0004 
CD0005 
CD0006 
etc, etc... 

这些文件/文件夹更新为一个程序,获取新的更新每季度,它已费尽了你大概可以告诉。

我们把它们分成1-27部分,分成大约800-1.5GB的部分。 (以每部分大约1GB开始)

我希望有人可以帮助我创建一个脚本,我可以运行它,将CD *文件夹复制到它们各自的部分文件夹,而无需我进入该文件夹每次检查他们在那里。

即。

See folder C:\temp\updates\CD0001 
Looks for CD0001 in all parts folders (example \\\server1\program\part*\\*) 
Removes Old CD* folder. 
Copies in New CD* folder. 

当我开始用零件,有插图中的CD的差距,在有CD0001,CD0255,然后CD0330,CD0880等

后来几个季度,它们释放CD0280, CD0281,CD0282等,它们太大了。

所以,我需要做一个Part28,然后继续得到打破... :)

它是一种SVN系统藏汉,所以我不能CD的第2部分从第3部分来移动。

任何帮助,非常感谢!

+0

https://meta.stackoverflow.com/questions/ 266270 /特定的警告对新手 - 约-功课,代码编写,请-调试和SSCCE –

回答

0

如果在这个任何人绊倒,

很快做出了一个在那里我可以上榜了,不过...

$Source = "<SourcePath>" 

$Part01 = "Destination_Part01" 
$Part02 = "Destination_Part02" 
$Part03 = "Destination_Part03" 
$Part04 = "Destination_Part04" 
$Part05 = "Destination_Part05" 
$Part06 = "Destination_Part06" 
$Part07 = "Destination_Part07" 
$Part08 = "Destination_Part08" 
$Part09 = "Destination_Part09" 
$Part10 = "Destination_Part10" 
$Part11 = "Destination_Part11" 
$Part12 = "Destination_Part12" 
$Part13 = "Destination_Part13" 
$Part14 = "Destination_Part14" 
$Part15 = "Destination_Part15" 
$Part16 = "Destination_Part16" 
$Part17 = "Destination_Part17" 
$Part18 = "Destination_Part18" 
$Part19 = "Destination_Part19" 
$Part20 = "Destination_Part20" 
$Part21 = "Destination_Part21" 
$Part22 = "Destination_Part22" 
$Part23 = "Destination_Part23" 
$Part24 = "Destination_Part24" 
$Part25 = "Destination_Part25" 
$Part26 = "Destination_Part26" 
$Part27 = "Destination_Part27" 

$PartList ($Part01,$Part02,$Part03,$Part04,$Part05,$Part06,$Part07,$Part08,$Part09,$Part10,$Part11,$Part12,$Part13,$Part14,$Part15,$Part16,$Part17,$Part18,$Part19,$Part20,$Part21,$Part22,$Part23,$Part24,$Part25,$Part26,$Part27) 

ForEach ($Item in $PartList) { 
$CDList = get-childitem -Directory -name $item 
$PartPath = $item 
ForEach ($Item in $CDList) { 
    If (Test-Path "$PartPath\$Item") { 
     If (Test-Path "$Source\$Item") { 
      Write-Host "Replace is True" 
      Write-host "Copying $Source\$Item to $PartPath\$Item" 
      Robocopy "$Source\$Item" "$PartPath\$Item" /E /Purge /NP /TEE /FFT /R:1 /W:1 /Log:"C:\temp\Logs\$Item.log" 
      write-host "$Source\$Item Processed" 
      move-Item -Path "$Source\$Item" "$Source\Processed" 
      } 
     } 
    } 
} 
相关问题