#batch-file
#пакетный файл
Вопрос:
У меня есть 2186 файлов jpeg, которые мне нужно преобразовать в другой тип файла с помощью определенной программы. К сожалению, я очень плох, когда дело доходит до пакетных файлов, но вот что у меня есть на данный момент:
java -jar -Xmx1024m convert.jar -d2 -h64 -w64 -s Untitled_000000.jpeg output_000000.schematic
Для этого требуется файл Untitled_000000.jpeg и преобразует его в output_000000.schematic . Как бы мне обойти, чтобы он автоматически конвертировал 2186 файлов, вплоть до output_002185.schematic?
Спасибо!
Ответ №1:
Попробуйте это:
Main.bat
@echo off
for /l %%a in (0, 1, 2185) do (Pad.bat "%%a")
И в том же каталоге:
Pad.bat
set var=%1
:loop
set var=0%var%
if "%var:~5,1%"=="" goto :loop
java -jar -Xmx1024m convert.jar -d2 -h64 -w64 -s Untitled_%var%.jpeg output_%var%.schematic
И это должно сработать для вас. (Я протестировал его)
Комментарии:
1. Похоже, это не работает. Существует проблема с «set var =% 1» — синтаксическая ошибка. Я попытался изменить его на «set / a var = var 1», Он работает, но работает только до 000008 и сбрасывается до 000000.
2. повторите попытку с двумя пакетными файлами spereate
Ответ №2:
@echo off
setlocal enableDelayedExpansion
pushd C:pics_dir
for /l %%L in (Untitled_*.jpeg) do (
set "file_name=%%~nL"
set "current_number=!file_name:~9!"
java -jar -Xmx1024m c:convert.jar -d2 -h64 -w64 -s "%%~L" output_!current_number!.schematic
)
endlocal