2014-09-12 284 views
0

我正在使用下面的内容,但它只移动源文件夹中的文件而不是文件夹。是否有任何可添加的内容?将文件夹中的文件和文件夹移动到另一个文件夹的批处理文件

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

你需要使用xcopy – Donal 2014-09-12 15:55:31

+0

但是不会使用复制而不是移动?我正在做这个移动非常大的视频文件 – 2014-09-12 15:59:02

+0

移动“C:\ source \ *”“C:\ destination \”只移动文件而不是文件夹 – 2014-09-12 16:03:54

回答

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 
     ) 
    ) 

确保目标文件夹存在,则,如果源文件夹是入店,活动目录改变到源文件夹,以及用于在其内部的每个元素,执行移动操作到目标文件夹

+0

@foxidrive,你是对的,更新代码。 – 2014-09-15 07:14:15

1

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

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

编辑:的Robocopy复制文件,然后删除原始,所以需要很长的时间对于大文件,即使源和目标位置是相同的硬盘上。

+0

在这种情况下'robocopy'的问题是大文件(来自评论)。 'robocopy'帮助指出移动操作执行一个副本然后删除。 – 2014-09-14 14:01:33

+0

@MCND你真的很棒。我很惊讶写robocopy的人很聪明。 – foxidrive 2014-09-15 06:45:56

相关问题