【发布时间】:2015-12-02 17:43:57
【问题描述】:
我需要将文件夹及其结构移动到其他地方。 我不知道这些文件夹的名称。 移动命令被拒绝 & 复制不保持这种状态的结构:
@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*"
【问题讨论】:
-
您是否只是想将所有内容复制到新位置的相同目录结构中?如果是这样,您不需要使用
FOR迭代目录;robocopy source destination /MIR /MOVE之类的东西应该这样做。 -
您的源文件夹将是 sourcefolder\Randomfolder1 而目标文件夹将是destinationfolder。
-
对不起,我不够清楚。我不希望移动源文件夹(我的批处理的根目录)中的任何文件。但是我确实希望将此根文件夹中具有随机名称的随机文件夹移动到其他地方(例如在我的桌面上)。
FOR将扫描根目录并仅查找文件夹。同样,问题是,我不知道需要移入(destinationfolder)的文件夹(Radomfolder1)的名称是什么。所以 ATM 我只是将 Randomfolder1 的内容复制到我的目标文件夹中。我需要 Randomfolder1 在我的目标文件夹中出现。
标签: batch-file random directory move xcopy