将特定子文件夹中的文件移动到另一个子文件夹

Posted

技术标签:

【中文标题】将特定子文件夹中的文件移动到另一个子文件夹【英文标题】:Move files in specific subfolders to another subfolder 【发布时间】:2017-05-04 08:01:03 【问题描述】:

我有文件夹C:\Folder。在这个文件夹中,我有数千个子文件夹。我只想定位那些以cv 结尾的人。在这些子文件夹中,我有一个文件和另一个子文件夹。 C:\Folder\SubFoldercv\cv。我想在 Windows 10 中使用 CMD 将这些子文件夹中的所有文件移动到第二个子文件夹。

(所以从C:\Folder\SubFoldercvC:\Folder\SubFoldercv\cv)。

【问题讨论】:

您使用的是什么操作系统? 对不起,我应该说,Windows 10 如何定义第二个子文件夹?您能否提供实际的文件夹树和您目前拥有的脚本。 所有子文件夹中的第二个子文件夹称为'cv'。我已经尝试了很多东西,但我尝试过的大部分内容都类似于此代码: for /r "C:\\path" %%x in (*) do move "%%x" "cv" 【参考方案1】:

使用for /D 查找以cv 结尾的目录,并使用robocopy 将所有文件从一个文件夹复制(或robocopy /mov 移动)到另一个文件夹:

@echo off
FOR /D %%G IN ("C:\Folder\*cv") DO robocopy /mov "%%~G" "%%~G\cv" "*"

我目前不在 Windows 机器上,因此无法对其进行测试,但它应该可以解决问题并将所有文件移动到 cv 子文件夹中,以获取以 cv 结尾的所有文件夹。

如果你想在命令行上使用它,使用:

FOR /D %G IN ("*cv") DO robocopy /mov "%~G" "%~G\cv" "*"

改为。

编辑:在 OP 测试之后,他确认它可以工作。

【讨论】:

我实际上使用robocopy / move 来移动文件而不是复制它们,但效果很好,谢谢! 很高兴听到这个消息。抱歉,我想到你想复制。我会马上修改我的答案。【参考方案2】:

怎么办?

subfolderHolder = uploads

FOR /D %%i IN ("%MoveDirSource%\*\%subfolderHolder%\*") DO ROBOCOPY /MOV /E "%%i" "%MoveDirDestination%\%%~nxi"

但是通配符不起作用

【讨论】:

如果您有类似的问题,请提出一个新问题。不要在这里发布它作为答案。

以上是关于将特定子文件夹中的文件移动到另一个子文件夹的主要内容,如果未能解决你的问题,请参考以下文章

将二进制数据移动到一个文件中的特定值到另一个文件中

如何将某个子文件夹模式移动到另一个文件夹,使用bash保持结构?

将 .bak 数据库文件从备份位置移动到另一台服务器

如何在 PHP 中将上传的文件移动到另一台主机

如何使用 ASP.NET 将文件从一台机器移动到另一台机器?

Powershell仅在包含特定字符串的文件夹名称中移动子目录中的项目