[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 newswan 于 2020-10-5 16:43 编辑

思路:
1  dir /s /ad 列出所有目录
2  根据目录列表,重命名文件夹

A
A\1
A\1\1
A\1\2

TOP

本帖最后由 newswan 于 2020-10-7 12:53 编辑

回复 11# Batcher


我的意思是,先导出目录列表,检查重名
另外,我还有一个问题,移动目录的规则,不能是把最低一级的目录向上移动一次,而应该是某目录之下,某一级子目录的子目录向上一级。
这样可能更可靠一些,比如,处理过程中出错,一部分经过处理,一部分没有。

TOP

本帖最后由 newswan 于 2020-10-6 01:34 编辑

列出目录,
第一列是移动后的路径,第二列是移动前的路径
  1. set _fld_=test
  2. for /f %%a in ('dir /b /ad %_fld_%') do (
  3. >>list.txt echo %%a
  4. for /f %%b in ('dir /b /ad %_fld_%\%%a') do (
  5. >>list.txt echo %%b \%%a\%%b
  6. if not exist %_fld_%\%%b (
  7. copy nul %_fld_%\%%b
  8. ) else (
  9. copy nul %_fld_%\%%a-%%b
  10. )
  11. )
  12. rmdir %%a
  13. )
复制代码
或者用占位文件模拟一次

TOP

返回列表