在文件夹中自动把文件(Put files automatically in folders)

2019-10-19 01:42发布

我有成千上万的JPG文件的命名类似这样的 “aaa0001.jpg,aaa0002.jpg,aaa0003.jpg,bbb0001.jpg,bbb0002.jpg,bbb0003.jpg,ccc0001.jpg,ccc0002.jpg,ccc0003.jpg等。” 在一个文件夹中。

我创建的文件夹26这样AAA,BBB,CCC,DDD等。

是否有可能创建一个脚本,设置相应文件夹中的所有图像?

结果 “aaa0001.jpg,aaa0002.jpg,aaa0003.jpg” 到文件夹 “AAA”, “bbb0001.jpg,bbb0002.jpg,bbb0003.jpg” 到文件夹 “BBB” 等。

谢谢!

我的系统是windows XP SP3教授...

Answer 1:

它会是这样的在Windows / DOS批处理文件。

该语句%fp:~0,3%确定哪些文件名的一部分被用作一个文件夹名。 0,3手段:从所述第一字符和下一个3个字符。 所以一个文件名为aaa001-01.jpg会给出一个文件夹aaa
有一个名为文件abc001_03.jpg进入文件夹001更改声明%fp:~3,3%

for %%a in (*.jpg) do call :copyfile %%a
goto :eof

:copyfile
set fp=%1
set folder=%fp:~0,3%

rem remove echo on the next line...
echo copy "%1" "%folder%"
rem or for moving:   move /Y "%1" "%folder%"

goto :eof


Answer 2:

只要定义的基本路径,以在VAR新闻directorys $path

@echo off
setlocal EnableDelayedExpansion

:::The path where the new Directorys will bw created

set $path="c:\Image\"

for %%a in (*.jpg) do (set $file="%%a"
                       set $Dir="%$path%CSV!$file:~4,3!"
                       if not exist "!$dir!" md "!$dir!"
                       move "!$file!" "!$dir!")

echo Terminated


文章来源: Put files automatically in folders