批处理文件将文件夹中的文件和文件夹移动到另一个文件夹

时间:2014-09-12 15:53:46

标签: windows batch-file

我正在使用下面的内容,但它只是移动文件而不是源文件夹中的文件夹。我可以添加任何内容吗?

move "C:\source\*" "C:\destination\"

2 个答案:

答案 0 :(得分:1)

@echo off
    setlocal enableextensions disabledelayedexpansion

    set "source=c:\source"
    set "target=c:\destination"

    (if not exist "%target%\" md "%target%" ) && (
        pushd "%source%" && (
            for /f "delims=" %%a in ('dir /a /b *') do move "%%a" "%target%\"
            popd
        )
    )

确保目标文件夹存在,然后,如果源文件夹是可访问的,则将活动目录更改为源文件夹,并对其中的每个元素执行对目标文件夹的移动操作

答案 1 :(得分:1)

这是另一种方法:首先在样本文件夹上测试它。

robocopy "C:\source" "C:\destination" /move /s

编辑:Robocopy会复制文件,然后删除原始文件,因此即使源位置和目标位置位于同一硬盘上,也需要很长时间才能显示大型文件。