CMD IF с уменьшением IMAGE

90
9

Поэтому мне нужен CMD if statement script для перемещения файлов в определенные папки в зависимости от имени изображения. Другими словами, сценарий должен проверить имя файла изображения: 123456_large.jpg и переместить его в папку LARGE. Но как только файл перемещается в эту папку, его нужно переименовать в: 123456.jpg вместо 123456_large.jpg...

Поэтому, if инструкция обнаружит *_LARGE.jpg, перейдите в папку LARGE и переименуйте имя файла, чтобы удалить _LARGE.

Какие-нибудь идеи?

спросил(а) 2021-01-19T15:50:12+03:00 6 месяцев, 1 неделя назад
1
Решение
63

Предполагая, что все файлы находятся в одной общей папке, и большой каталог также существует в этой общей папке, вы можете использовать это.

@echo off
FOR /F "tokens=1* delims=_" %%G IN ('dir /a-d /b *.jpg') DO (
IF /I "%%~nH"=="large" move "%%~G_%%~H" "large\%%~G%%~xH"
)

В основном, что делает этот код: Получает список всех файлов jpg в текущей папке, в которой находится командный файл. Разделяет имя файла на первом знаке подчеркивания и присваивает первую часть имени файла переменной %% G, а остальное от имени файла до %% H. Используя модификаторы переменной FOR, он затем проверяет, равна ли вторая часть имени файла без расширения равным большому. Если это так, он перемещает файл и одновременно переименовывает его, снова используя модификаторы переменной FOR.

Если вы хотите прочитать о модификаторах FOR, откройте приглашение cmd и введите: FOR/? Это самый последний раздел файла справки.

ответил(а) 2021-01-19T15:50:12+03:00 6 месяцев, 1 неделя назад
45

Это работало абсолютно идеально! Теперь несколько улучшений... Есть ли способ сделать то же самое с предыдущим скриптом, но если файл называется: 123456_ALT1_large.jpg (или ALT2, ALT3, ALT4)?

ответил(а) 2021-01-19T15:50:12+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема