我使用的是 Windows 7,我有 50 万张图片存储在一个文件夹“C:\capture”中。这些图像组成330个图像序列,命名如下:
1.0000000000.png
...
1.0000003299.png
... ...
330.0000000000.png
...
330.0000000010.png
我想将它们移动到以名称的第一部分命名的 330 个子文件夹中。
C:\capture\1\1.0000000000.png
...
C:\capture\1\1.0000003299.png
... ...
C:\capture\330\330.0000000000.png
...
C:\capture\330\330.0000000010.png
所以我基本上只对第一个“.”之前的所有内容感兴趣。在名字中。如何编写一个批处理文件来创建子文件夹并将相应的文件移动到其中?
最佳答案
要从要处理的目录内的命令行执行(最好尝试复制)
for /l %a in (1 1 330) do (md %a 2>nul & if exist %a\ move /y "%a.*.png" %a\ )
如果你想在批处理文件中使用它,百分号需要转义,将所有 %a
替换为 %%a
for /l %%a in (1 1 330) do (
md %%a 2>nul
if exist %%a\ move /y "%%a.*.png" %%a\
)
它将生成所有前缀并为每个前缀执行移动命令以将匹配的文件移动到最终文件夹(先前创建的)
关于windows - 根据名称将文件批量移动到新的子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29260844/