gpt4 book ai didi

batch-file - 在 Windows 中递归移动文件夹,.bat 存档

转载 作者:行者123 更新时间:2023-12-05 02:33:49 26 4
gpt4 key购买 nike

我们有这样的文件夹结构

dir 1
- dir A
- dir B
dir 2
- dir C
dir 3
dir 4

需要移动到其他目录,所有目录和子目录,到同一级别,就像这样

d:\basedir
dir 1
dir A
dir B
dir 2
dir C
dir 3
...

我已尝试过此脚本,但不起作用

 for %%x in (%*) do (
move %%x d:\basedir\
)

最佳答案

解决此类问题的标准方法的困难在于它们从上到下 的工作方式,也就是说,它们首先处理最顶层的文件夹。要正确解决此问题,必须从下到上处理文件夹:首先处理树中的最后一个文件夹。

您可以使用 this answer 中描述的目录树的递归过程

@echo off
cd D:\data\folder
call :treeProcess
goto :eof

:treeProcess
for /D %%d in (*) do (
cd "%%d"
call :treeProcess
cd ..
move "%%d" D:\basedir
)
exit /b

或者,以更简单的方式:

@echo off
cd D:\data\folder

:treeProcess
for /D %%d in (*) do (
cd "%%d"
call :treeProcess
cd ..
move "%%d" D:\basedir
)

关于batch-file - 在 Windows 中递归移动文件夹,.bat 存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70881600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com