|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - CMD/BAT Значение по условию |
|
CMD/BAT - CMD/BAT Значение по условию
|
Новый участник Сообщения: 5 |
Профиль | Отправить PM | Цитировать Здравствуйте, не могу понять как решить задачу(((
Вопрос такой: пользуюсь *cmd файлом для сортировки, за основу берётся _, как бы сделать так чтобы имена создавались немного по другому. Сейчас сортирует по _ и файл с названием "22-Ямал_..." прикидывает в папку 22-Ямал, а как сделать, так, чтобы исключить 22-, а оставить просто Ямал? допустим берём значение начиная с - заканчивая _? Перечитал help к команде SET и всё равно не пойму как это реализовать. Код: 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 ) |
|
Отправлено: 13:14, 28-11-2020 |
Ветеран Сообщения: 2723
|
Профиль | Отправить PM | Цитировать Цитата Don_abbadon:
@Echo Off cls Set "BoxIn=Z:\Box_In" Set "BoxOut=Z:\Box_Out" FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\*?-?*_*.jpg" /B /A:-D`) DO ( If Exist "%BoxIn%\%%f" ( FOR /F "tokens=2 delims=-_" %%n IN ("%%f") DO ( 2>nul Md "%BoxOut%\%%n" Move /Y "%BoxIn%\*?-%%n_*.jpg" "%BoxOut%\%%n\" ) ) ) pause Exit /B |
|
------- Последний раз редактировалось megaloman, 28-11-2020 в 15:09. Отправлено: 14:29, 28-11-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать [q=megaloman]прикидывает в папку »
Как понять? Если перемещает, то, Да без разницы, код который я скинул выше перемещает в созданные папки. Не работает, к сожалению. либо я что-то делаю не так. Не сортирует по папкам, как код который я скинул выше(( в чем может быть причина? |
Последний раз редактировалось Don_abbadon, 29-11-2020 в 10:53. Причина: добавил пример. Отправлено: 10:34, 29-11-2020 | #3 |
Ветеран Сообщения: 2723
|
Профиль | Отправить PM | Цитировать Don_abbadon, Вы свои пути указали? Переименуйте тот командный, который тестируете, файл в .txt и приложите к сообщению. У Вас jpg-файлы, маска соответствует Вашим файлам? Если мой код не выдает никаких ошибок, однозначно - неверно указан входной каталог.
|
------- Отправлено: 11:14, 29-11-2020 | #4 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
@Echo Off cls Set "BoxIn=F:\Box_In" Set "BoxOut=F:\Box_Out" FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\*?-?*_*.tif" /B /A:-D`) DO ( FOR /F "tokens=2 delims=-_" %%n IN ("%%f") DO >nul xcopy /F /D /Y "%BoxIn%\%%f" "%BoxOut%\%%n\" ) pause Exit /B В чём может быть проблема? Спасибо. |
||
Отправлено: 11:40, 29-11-2020 | #5 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
@Echo Off cls Set "BoxIn=F:\Box_In" Set "BoxOut=F:\Box_Out" FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\*?-?*_*.tif" /B /A:-D`) DO ( FOR /F "tokens=2 delims=-_" %%n IN ("%%f") DO >nul xcopy /F /D /Y "%BoxIn%\%%f" "%BoxOut%\%%n\" ) pause Exit /B В чём может быть проблема? Спасибо. |
|
Отправлено: 12:13, 29-11-2020 | #6 |
Ветеран Сообщения: 2723
|
Профиль | Отправить PM | Цитировать Вот в батник вставлен отладочные строки. Около Вашего батника создадутся файлы "имя вашего батника.log1" "имя вашего батника.log2"
Покажите хотя бы несколько строк из них @Echo Off
cls
Set "BoxIn=F:\Box_In"
Set "BoxOut=F:\Box_Out"
>"%~dpnx0.log1" 2>&1 Dir /B /A:-D "%BoxIn%\*.tif"
>"%~dpnx0.log2" 2>&1 Dir /B /A:-D "%BoxIn%\*?-?*_*.tif"
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\*?-?*_*.tif" /B /A:-D`) DO (
FOR /F "tokens=2 delims=-_" %%n IN ("%%f") DO >nul xcopy /F /D /Y "%BoxIn%\%%f" "%BoxOut%\%%n\"
)
pause
Exit /B
|
------- Отправлено: 13:43, 29-11-2020 | #7 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 14:55, 29-11-2020 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] cmd скрипт - получить данные по curl, извлечь одно значение и вывести его | Sick_013 | Скриптовые языки администрирования Windows | 2 | 07-04-2020 14:49 | |
CMD/BAT - bat смена часового пояса по условию | sdaa113 | Скриптовые языки администрирования Windows | 11 | 21-07-2018 19:25 | |
CMD/BAT - CMD/BAT Поиск по каталогам файлов bat и конвертирование их в JPEG | freerider1989 | Скриптовые языки администрирования Windows | 1 | 18-04-2016 08:37 | |
CMD/BAT - [решено] CMD/BAT - С помощью bat-ника найти и удалить текст в файле | InVariable | Скриптовые языки администрирования Windows | 4 | 22-05-2015 20:06 | |
CMD/BAT - Вопросы по написанию скриптов на CMD/BAT | kelevara | Тест-форум | 1 | 26-04-2013 15:03 |
|