将文件夹中的文件和文件夹移动到另一个文件夹的批处理文件
我正在使用下面的内容,但它只移动源文件夹中的文件而不是文件夹。是否有任何可添加的内容?将文件夹中的文件和文件夹移动到另一个文件夹的批处理文件
move "C:\source\*" "C:\destination\"
@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
)
)
确保目标文件夹存在,则,如果源文件夹是入店,活动目录改变到源文件夹,以及用于在其内部的每个元素,执行移动操作到目标文件夹
@foxidrive,你是对的,更新代码。 – 2014-09-15 07:14:15
这是另一种方法:首先在样本文件夹上对其进行测试。
robocopy "C:\source" "C:\destination" /move /s
编辑:的Robocopy复制文件,然后删除原始,所以需要很长的时间对于大文件,即使源和目标位置是相同的硬盘上。
在这种情况下'robocopy'的问题是大文件(来自评论)。 'robocopy'帮助指出移动操作执行一个副本然后删除。 – 2014-09-14 14:01:33
@MCND你真的很棒。我很惊讶写robocopy的人很聪明。 – foxidrive 2014-09-15 06:45:56
你需要使用xcopy – Donal 2014-09-12 15:55:31
但是不会使用复制而不是移动?我正在做这个移动非常大的视频文件 – 2014-09-12 15:59:02
移动“C:\ source \ *”“C:\ destination \”只移动文件而不是文件夹 – 2014-09-12 16:03:54