首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将一个目录树的内容移动到另一个目录树中?

如何将一个目录树的内容移动到另一个目录树中?
EN

Stack Overflow用户
提问于 2009-07-13 09:48:37
回答 12查看 86.6K关注 0票数 23

我有一个目录,其中包含文件和若干级别的子目录:

代码语言:javascript
运行
复制
C:\Source

我想将C:\Source的内容移到:

代码语言:javascript
运行
复制
C:\Destination

要求:

  • 所有文件和C:\SourceData中的所有子目录都必须移动
  • 我将在批处理文件
  • 中运行该命令,我不能使用Powershell或任何其他脚本语言

尝试0

代码语言:javascript
运行
复制
XCOPY /E "C:\Source" "C:\Destination"

这是完美的工作,但它复制而不是移动。我无法复制,然后删除源代码,因为我正在移动一组非常大的文件,并且没有足够的磁盘空间一次拥有两个副本。

尝试1

代码语言:javascript
运行
复制
MOVE "C:\Source" "C:\Destination"

这会将整个C:\源目录移动到C:\目的地,因此我最终得到:

代码语言:javascript
运行
复制
C:\Destination\Source

尝试2

this question and accepted answer的帮助下,我想到了:

代码语言:javascript
运行
复制
for /r "C:\Source" %%x in (*) do move "%%x" "C:\Destination"

这会将文件移动到C:\Source中,而不是子目录或它们的内容。注意,我在批处理文件中使用%x而不是%x。

使用FOR似乎很有希望,但我不确定是否使用了正确的语法?我错过了什么吗?

尝试3

按照尼克·D的建议,我试着重命名:

重命名"C:\Source“目的地

对于示例场景,我给出了很好的效果。不幸的是,我的真正目标目录与源目录处于不同的级别,似乎不支持:

代码语言:javascript
运行
复制
C:\>REN /?
Renames a file or files.

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

Note that you cannot specify a new drive or path for your destination file.

我得到“命令的语法是不正确的。”如果我试图指定更复杂的目标路径,例如:

代码语言:javascript
运行
复制
RENAME "C:\Source" "C:\MyOtherDirectory\Destination"
RENAME "C:\Source" "MyOtherDirectory\Destination"
EN

Stack Overflow用户

发布于 2009-07-13 10:05:49

I有一个目录,其中包含文件和许多级别的子目录:

C:资料来源

我想将C:\Source的内容移到:

C:目的地

也许我遗漏了什么,但你就不能把文件夹重命名吗?

票数 1
EN
查看全部 12 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1118540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档