[CMD] Сортировка файлов

Don Abbadon

Новый пользователь
Сообщения
2
Реакции
0
Здравствуйте, перечитал несколько раз и ни как не могу понять как решить задачу(((
Вопрос такой пользуюсь *cmd файлом для сортировки, за основу берётся _, как бы сделать так чтобы имена папок создавались немного по другому.
Сейчас сортирует по _ и название 22-Ямал_... прикидывает в папку 22-Ямал, а как сделать, так, чтобы исключить 22-, а оставить просто Ямал? допустим берём значение начиная с - заканчивая _?

Код:

CMD/BATCH:
echo off

@for /f "tokens=1* delims=_" %%i in ('dir/a-d/b *.jpg') do @ 2>nul md "%%i"& move "%%i_%%j" "%%i"

echo %%i_%%j

md %%i

copy %%i_%%j %%i\%%i_%%j

)
 
Последнее редактирование модератором:
Добрый день!
Добро пожаловать на SafeZone.

Совершенно не понял условия задачи. Переформулируйте. Желательно с примером, как было, что должно получиться.
 
Совершенно не понял условия задачи. Переформулируйте. Желательно с примером, как было, что должно получиться.
Смотрите, код который я скинул выше создаёт и перемещает все файлы по условию. Допустим есть файлы 123_aaa.jpg и 987_ббб.jpg он создаст две папки 123 и 987 переместив туда эти файлы. А как изменить условие, чтобы из названия исключить некоторые данные, допустим... есть файлы (Пример)-123_aaa.jpg и (пример)-987_ббб.jpg, нужно, чтобы удалилась лишняя информация в данном случае (пример)-. Вот я не могу понять как сделать так, чтобы папки создавались со значением находящимся между - и _, ну и соответственно туда копировались файлы без изменённого названия (Пример)-123_aaa.jpg и (пример)-987_ббб.jpg
 
Последнее редактирование:
CMD/BATCH:
@echo off
SetLocal EnableExtensions

for /f "delims=" %%i in ('dir /a-d /b *.jpg') do (

    for /f "tokens=1 delims=_" %%j in ("%%i") do (
      
        for /f "tokens=1,2 delims=-" %%k in ("%%j") do (
      
            if "%%l"=="" call :copyex "%%i" "%%k"
            if "%%l" neq "" call :copyex "%%i" "%%l"
        )
    )
)
pause
goto :eof

:copyex [src] [dst]
    md "%~2" 2>NUL
    copy /y "%~1" "%~2\"
exit /b
 
Назад
Сверху Снизу