批量移动文件夹随机名称

时间:2015-12-02 17:43:58

标签: batch-file random directory move xcopy

我需要将文件夹及其结构移动到其他位置。 我不知道那些文件夹的名称。 移动命令被拒绝&复制不会使结构保持这种状态:

    @echo on
    for /D %%b in (*) do XCOPY "%%~fb" "C:\Users\*Username*\Desktop\New files" /Y /E 
    timeout /t -1

这就是我得到的:

    sourcefolder                           destinationfolder
      | Randomfolder1                         | Randomfolder2
      |    |  Randomfolder2                   |    \randomfile2.txt 
      |    |     \randomfile2.txt             \randomfile1.txt
      |    \randomfile1.txt
      \moverandomfolders.bat                  

显然,我错过了新目录中新文件夹的名称,以保持相同的结构。如何将该随机名称添加到新路径? 在复制后,我还需要从原始路径中删除文件夹。

    rd /s /q "*random folder name*"

1 个答案:

答案 0 :(得分:0)

我虽然通过在vars中存储随机文件夹名称之类的东西来制作它,但我只是使用excludedfileslist,因为我知道它们。

        @echo on
        for /D %%b in (*) do XCOPY "root folder" "destination folder" /Y /E /EXCLUDE:excludedfileslist.txt
        for /D /R "root folder" %%X IN (*) DO RMDIR /S /Q "%%X"
        timeout /t -1