用于在字母目录结构中移动多个文件夹的批处理命令
Batch command to move many folders inside an alfabetic directory structure
我在一个目录中有这个内容
[FOLDERS]
Atomic
Animal
Cat
flash
Zoe
[FILES]
text.txt
audio.rar
我想在这样的字母目录结构中重新排序移动文件夹(不区分大小写)。我只想移动文件夹没有文件
A [Atomic, Animal]
C [cat]
f [flash]
Z [zoe]
file1.rar
file2.txt
其中 A、C、f、Z 是父文件夹。括号中的文件夹是 MOVED 文件夹而不是 CONSOLIDATED 文件夹!
我可以使用哪个 .bat 命令?
我想将所有以 A[=36= 开头的文件夹移动到名为 A 的唯一文件夹中] 信件。对于以 F 字母开头的文件夹,我想将它们移动到一个名为 F [=32 的文件夹中=]
移动不是替换或合并,因为我假设所有以相同字母开头的文件夹都有不同的名称,我只想按第一个文件夹字母对它们进行排序。
我不想按字母合并唯一文件夹中的文件夹,而只想按第一个文件夹字母 移动 在唯一文件夹中。
@echo off
setlocal enabledelayedexpansion
rem md atomic animal cat flash zoe alfa american banda barca beta brasil cane alfa\subdir
tree
for /d %%i in (*) do (
set first=%%i
set first=!first:~0,1!
md !first! 2>nul
if not "!first!" == "%%i" move "%%i" "!first!\%%i"
)
tree
对于当前文件夹中的每个目录执行:
- 获取第一个字母
- 创建单字母文件夹
- 如果文件夹不是单字母文件夹,移动它。
使用tree
显示结果
我在一个目录中有这个内容
[FOLDERS]
Atomic
Animal
Cat
flash
Zoe
[FILES]
text.txt
audio.rar
我想在这样的字母目录结构中重新排序移动文件夹(不区分大小写)。我只想移动文件夹没有文件
A [Atomic, Animal]
C [cat]
f [flash]
Z [zoe]
file1.rar
file2.txt
其中 A、C、f、Z 是父文件夹。括号中的文件夹是 MOVED 文件夹而不是 CONSOLIDATED 文件夹!
我可以使用哪个 .bat 命令?
我想将所有以 A[=36= 开头的文件夹移动到名为 A 的唯一文件夹中] 信件。对于以 F 字母开头的文件夹,我想将它们移动到一个名为 F [=32 的文件夹中=]
移动不是替换或合并,因为我假设所有以相同字母开头的文件夹都有不同的名称,我只想按第一个文件夹字母对它们进行排序。
我不想按字母合并唯一文件夹中的文件夹,而只想按第一个文件夹字母 移动 在唯一文件夹中。
@echo off
setlocal enabledelayedexpansion
rem md atomic animal cat flash zoe alfa american banda barca beta brasil cane alfa\subdir
tree
for /d %%i in (*) do (
set first=%%i
set first=!first:~0,1!
md !first! 2>nul
if not "!first!" == "%%i" move "%%i" "!first!\%%i"
)
tree
对于当前文件夹中的每个目录执行:
- 获取第一个字母
- 创建单字母文件夹
- 如果文件夹不是单字母文件夹,移动它。
使用tree
显示结果