Windows 在Powershell中将X文件从一个文件夹移动到另一个文件夹
我有一个文件夹a,其中有75000个文件要处理。我有4个文件夹(A、B、C、D)在旁边,一次可以处理3000个文件 我想要一个脚本,从a中取出3000个文件,放到B中。然后再取出3000个文件,放到C中,然后是D,最后是E 下面是我到目前为止的代码。这需要10个文件并将它们移动到B中,但它只是永久地保存,而不会将任何文件放入C、D或E中 有没有办法退出代码的EnumerateFiles部分?我只想移动它找到的第一个X文件,我不关心一个文件中有多少文件 有什么想法吗Windows 在Powershell中将X文件从一个文件夹移动到另一个文件夹,windows,file,powershell,Windows,File,Powershell,我有一个文件夹a,其中有75000个文件要处理。我有4个文件夹(A、B、C、D)在旁边,一次可以处理3000个文件 我想要一个脚本,从a中取出3000个文件,放到B中。然后再取出3000个文件,放到C中,然后是D,最后是E 下面是我到目前为止的代码。这需要10个文件并将它们移动到B中,但它只是永久地保存,而不会将任何文件放入C、D或E中 有没有办法退出代码的EnumerateFiles部分?我只想移动它找到的第一个X文件,我不关心一个文件中有多少文件 有什么想法吗 $dirBase = "\\n
$dirBase = "\\networkDir\A\"
$dirProc1 = "\\networkDir\B\"
$dirProc2 = "\\networkDir\C\"
$dirProc3 = "\\networkDir\D\"
$dirProc4 = "\\networkDir\E\"
cd $dirBase
$directoryInfo1 = Get-ChildItem $dirProc1 | Measure-Object
$directoryInfo2 = Get-ChildItem $dirProc2 | Measure-Object
$directoryInfo3 = Get-ChildItem $dirProc3 | Measure-Object
$directoryInfo4 = Get-ChildItem $dirProc4 | Measure-Object
if ($directoryInfo1.count -eq 0) {
MoveFiles $dirBase $dirProc1
}
if ($directoryInfo2.count -eq 0) {
MoveFiles $dirBase $dirProc2
}
if ($directoryInfo3.count -eq 0) {
MoveFiles $dirBase $dirProc3
}
if ($directoryInfo4.count -eq 0) {
MoveFiles $dirBase $dirProc4
}
function MoveFiles([string]$srcDir, [string]$dest)
{
$FileLimit = 10
$Counter = 0
[IO.Directory]::EnumerateFiles($srcDir) | Where-Object {$Counter -lt $FileLimit} | %{
#Get-ChildItem $srcDir | Select-Object -first $FileLimit | %{
Move-Item $_ -destination $dest
$Counter++
}
}
?我只用了10个文件就试过了。。。它仍然冻结了很长时间(由于文件夹中有70000个文件),那么
Get ChildItem$dirProc1-name
?这个命令是否结束?[IO.Directory]::枚举文件($srcDir)?
Get-ChildItem $dirProc1 | select -first 3000