Автоматически помещать файлы в папки
У меня есть тысячи 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...
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
Просто определите базовый путь для создания каталогов новостей в 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