这个问题可能很困惑,最好显示一些例子。我有一个文件夹,其中包含许多子目录,这些子目录可能是多个级别。下面的结构显示该文件夹,所有文件夹都包含自己的文件。
mainFolder
|--a
|--|--ab
|--|--ac
|--|--ad
|--b
|--b
|--|-cd
|--d
上面是mainFolder的树结构。我正在尝试编写一个批处理文件,该文件能够将整个树转换为单个级别的结构。
--a
--ab
--ad
--b
--c
--cd
--d
以上是预期的输出。所有文件应位于其自己的文件夹中。
setlocal EnableDelayedExpansion
set "targetPath=%~dp0mainFolder"
for /r "%targetPath%" %%i in (.) do (
echo %%i
)
pause
这是我当前的代码,它能够循环显示目录的绝对路径
存在不一致之处:--c
dest中缺少源,没有--ac
源代码树:
> tree
└───mainFolder
├───a
│ ├───ab
│ ├───ac
│ └───ad
├───b
├───c
│ └───cd
└───d
提供的主文件夹位于该单个cmdline的驱动器根目录中:
@for /r "\mainfolder" %A in (.) do @for /f "tokens=5 delims=\" %B in ("%A") do @move "%A" "\mainFolder"
将产生此目标树:
> tree
└───mainFolder
├───a
├───ab
├───ac
├───ad
├───b
├───c
├───cd
└───d
如果不是,则将令牌的值从5调整为与目录级别匹配。
在批处理文件中,将所有百分号加倍%%
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句