使用Windows命令行,如何将一个文件夹完全替换为另一个文件夹?

时间:2013-01-31 23:18:41

标签: command-line batch-file cmd xcopy

到目前为止,我可以将所有文件从c:\Users\John\Folder1复制到c:\Users\John\Folder2

但我希望完全交换文件夹。

e.g。将c:\Users\John\Folder1替换为c:\Users\John\SomeFolder\Folder1

我现在有这个:xcopy c:\Users\John\SomeFolder\* c:\Users\John\Folder1 /s /i

这只是将c:\Users\John\SomeFolder\Folder1中的所有文件复制到c:\Users\John\Folder1,但保留之前存在的文件。我想要替换整个文件夹。如果我正在复制的新文件夹不再包含这些文件,我希望将它们删除。

对不起,如果这令人困惑 - 非常感谢任何帮助。

4 个答案:

答案 0 :(得分:1)

我认为您可以创建批处理文件来执行此操作。

伪代码:

  1. 删除目录1的内容
  2. 将目录1中的内容复制到目录2
  3. 代码: 在记事本中创建一个名为swapFiles.bat的文件,然后输入以下代码:

    rd /s %1
    mkdir %1
    xcopy /s /i %2\* %1
    

    如何使用

    swapFiles c:\Users\directory1 c:\Users\directory2
    

    directory1old目录(即将被删除的目录)

    希望这有助于你

答案 1 :(得分:1)

也许我完全错过了你的观点,但是这不能胜任这项工作吗? (实施例):

rename Folder1 transit
rename Folder2 Folder1
rename transit Folder2

答案 2 :(得分:0)

您是否要在复制folder1之前删除此文件夹c:\ Users \ John \ SomeFolder,如果是这样,此代码可能会为您扫描

@echo off

robocopy /s c:\Users\John\Folder1 c:\Users\John\SomeFolder\Folder1
rmdir /s /q c:\Users\John\Folder1

答案 3 :(得分:0)

这会将第一个文件夹镜像到第二个文件夹。

非常小心路径是正确的。

@echo off
robocopy "c:\Users\John\SomeFolder\Folder1" "c:\Users\John\Folder1" /mir