我有数以千计的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 prof SP3 ...
答案 0 :(得分:2)
在Windows / dos批处理文件中会出现这种情况。
语句%fp:~0,3%
确定文件名的哪一部分用作foldername。 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
答案 1 :(得分:0)
只需定义基本路径即可在VAR $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