Robocopy 跳过所有目标文件

Robocopy 跳过所有目标文件

下午好,

我尝试使用 robocopy 和 Powershell 递归抓取子目录中的所有文件并将它们移动到一个“根”目录。我尝试使用 copy-item 执行此操作,但它会挂起,当尝试复制超过 10k 个文件时,这非常麻烦。

function fcopy ($SourceDir,$DestinationDir)
{
    Get-ChildItem $SourceDir -Recurse -File | ForEach-Object ($_) {
        $SourceFile = $_.Name
        $DestinationFile = $DestinationDir + $_
        if (Test-Path $DestinationFile) {
            $i = 0
            while (Test-Path $DestinationFile) {
                $i += 1
                $DestinationFile = $DestinationDir + $_.basename + $i + $_.extension
            }
        } else {
            #
            Robocopy.exe $($SourceDir) $($DestinationDir) $($SourceFile) /L /V  /COPY:DAT

            #Write-Output $SourceFile
        }
            #
            Robocopy.exe $($SourceDir) $($DestinationDir) $($SourceFile) /L /V /COPY:DAT 
            #Write-Output $SourceFile
    }
}

fcopy -SourceDir 'A:\User Name Inbox Search_Export\08.04.2022-0829AM\User' -DestinationDir 'A:\Destination' 

但是,如果我运行这个程序,我会得到以下输出:

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows
-------------------------------------------------------------------------------

  Started : Friday, August 5, 2022 3:09:51 PM
   Source : A:\User Name Inbox Search_Export\08.04.2022-0829AM\User\
     Dest : A:\Destination\

    Files : IAH JUNE.pdf

  Options : /V /L /DCOPY:DA /COPY:DAT /R:1000000 /W:30

------------------------------------------------------------------------------

                           0    A:\User Name Inbox Search_Export\08.04.2022-0829AM\User

Robocopy 似乎列出了该文件,但随后我只收到代码 0 和源目录。目标目录为空。

有任何想法吗?

答案1

/L 开关
指定仅列出文件(而不复制、删除或加盖时间戳)。

https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy

相关内容