求助如何使用bat命令移动文件夹中符合名称的文件夹下的文件

例如,在A文件夹下有三个文件夹D,F,G, D和G文件夹都有一个文件夹Q,文件夹Q中有一个文件夹名称为**批量**(*号代指随机字符)如图,然后怎么使用bat命令做到将**批量**这个文件夹下的所有内容移动到D文件夹下,包括G文件夹也同时做到,(这是个举例,实际会有很多文件夹)

您可以使用以下的批处理命令来移动符合名称的文件夹下的文件:

请确保将 source_folder 和 target_folder 的路径替换为实际的源文件夹和目标文件夹的路径。search_text 是您要搜索的文本,它将匹配文件夹名称。您可以将其替换为您要移动的文件夹的名称或包含特定文本的文件夹名称。

该批处理命令使用 for /d 循环遍历源文件夹中符合搜索文本的文件夹。%%F 表示当前文件夹,%%~nxF 表示文件夹的名称以及扩展名。然后,使用 move 命令将文件夹中的所有文件移动到目标文件夹中。

运行该批处理命令后,它将移动符合名称的文件夹下的所有文件到目标文件夹中。移动完成后,它将显示 "Files moved successfully." 的消息。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-11-09
你可以使用批处理脚本(.bat文件)结合命令行工具来移动文件夹中符合名称的文件夹下的文件。以下是一个示例:
假设你想要将文件夹A中所有名称为"example"的子文件夹中的文件移动到文件夹B中,你可以创建一个movefiles.bat的批处理文件并输入以下内容:
Copy Code@echo offset sourceFolder="C:\path\to\folderA"set targetFolder="C:\path\to\folderB"for /D %%f in ("%sourceFolder%\*") do ( if "%%~nxf"=="example" (
move "%%f\*" "%targetFolder%"
)
)

在这个示例中,我们首先设置了源文件夹和目标文件夹的路径,然后使用for循环遍历源文件夹中的所有子文件夹。对于每个子文件夹,我们检查它的名称是否为"example",如果是,则使用move命令将该文件夹中的文件移动到目标文件夹中。
请注意,这只是一个简单的示例,实际情况可能会更复杂。在实际使用时,请根据自己的需求进行适当的修改和调整。同时,在操作文件时请务必谨慎,以免意外删除或移动重要文件。
第2个回答  2023-11-11
可以使用以下的BAT命令来移动文件夹中符合名称的文件夹下的文件:
bash复制代码
@echo off
for /f "tokens=1,2 delims=." %%a in ('dir /b /a-d *.*') do (
md "%%a" 2>nul
move "%%a.%%b" "%%a"
)
这个命令会遍历当前目录下的所有文件,将文件名中的点号作为分隔符拆分成两部分,然后将第一部分作为文件夹名称创建新的文件夹,并将第二部分作为文件名移动到新创建的文件夹中。
请注意,如果还没有同名文件夹,需要先新建一个再执行移动操作。另外,以上代码仅供参考,具体使用时需要根据实际情况进行调整。
第3个回答  2023-11-08
不清楚你的实际文件/情况,仅以问题中的样例/说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI/GB2312,跟要处理的多个文件夹放一起双击运行@echo off&cd /d "%~dp0"&mode con lines=5000
rem 将当前目录里多个文件夹下一个名称中包含有指定关键字的文件夹里的文件分别剪切/移动到最上级文件夹里
set #=Any questions&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
for /d %%a in (*) do (
    for /f "delims=" %%b in ('dir /ad-h/b/s "*批量*"') do (
        echo;"%%~b" --^> "%%~fa\"
        move "%%~b\*.*" "%%~fa\"
    )
)
echo;%#% +%$%%$%/%_% %z%
pause
exit

第4个回答  2023-11-10
search_text 是您要搜索的文本,它将匹配文件夹名称。 您可以将其替换为您要移动的文件夹的名称或包含特定文本的文件夹名称。 该批处理命令使用 for /d 循环遍历源文件夹中符合搜索文本的文件夹。 %%F 表示当前文件夹,%%~nxF 表示文件夹的名称以及扩展名。 然后,使用 move 命令将文件夹中的所有文件移动到目标文件夹中。
相似回答