我在一个平面文件夹中有大约 15k 个文件。所有文件都以 命名blah blah - whatever.png
。基本上,我想将它们全部移动到名为 的文件夹中blah blah
。我不想重命名它们中的任何一个,只是将它们放入各自的文件夹中。我想我需要用某种正则表达式来做到这一点,但我似乎无法弄清楚如何在这种情况下应用正则表达式。
答案1
该for
命令不支持正则表达式。
假设所有文件都包含一个-
字符,您可能可以在批处理文件中使用此代码:
for /f "delims=- tokens=1* usebackq" %%a in (`dir /b *.png`) do (
if not exist "%%a" mkdir "%%a"
move "%%a-%%b" "%%a"
)
delims=-
将在 上拆分文件名-
,并给出将创建的目录名称(如果该目录尚不存在)。接下来,原始文件名%%a-%%b
将被移动到该目录。