如何缩短目录path模式

我有一组大约10.000目录具有以下结构

./AAA/AAA/somedirs/file.txt .. ./BCDE/BCDE/somedirs/file.txt .. ./FGMAB/FGMAB/somedirs/file.txt .. etc 

我想减less具有相同名称的两个连续目录的循环目录path模式:

 ./X/X/etc/ 

到这个名字的单个目录:

 ./X/etc/ 

我想在这样一个X / X模式之后find所有的子结构,并使用如下命令将它们移动到X /:

 for /r /d %x in (*/%y/%y/*) do move "%x" ".." 

这确实运行,但似乎并没有做任何事情。

任何人有一个想法,如果和如何做到这一点?

假设重复的名字都在树结构的顶部,如下所示:

 md dummy\x for /D %x in (*) do if exist %x\%x cmd /c "move %x dummy\x\%x & move dummy\x\%x\%x %x & rd dummy\x\%x" 

先测试一下! (并且记住命令在批处理文件中时,需要将百分号加倍。)