|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Работа с циклом в BAT файле |
|
CMD/BAT - Работа с циклом в BAT файле
|
Новый участник Сообщения: 1 |
Добрый день!
Есть задача пройтись программой по файлам и объединить их в единый pdf файл. Для этого нашел программу prince, которая может помочь и у которой есть возможность работы с командной строкой. Подходит в данном случае только она (других перепробовал много; связано с особенностью задачи). Данный скрипт работает отлично. @ECHO OFF SetLocal EnableDelayedExpansion prince^ D:\finalWEB\xml\page1.html^ D:\finalWEB\xml\page2.html^ D:\finalWEB\xml\page3.html^ D:\finalWEB\xml\page4.html^ -o D:\finalPDF\final.pdf Stop EndLocal prince doc1.html doc2.html -o out.pdf Combine doc1.html and doc2.html into a single PDF file, out.pdf. Пробовал сделать что-то с циклом такое: @ECHO OFF SetLocal EnableDelayedExpansion prince^ FOR /L %%i IN (1, 1, 500) DO ( SET num=%%x D:\finalWEB\xml\page!num!.html^ ) -o D:\finalPDF\final.pdf Stop EndLocal Буду рад помощи! |
|
Отправлено: 15:27, 31-12-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать mforim, ну, например, Вы можете собрать список и использовать его:
Скрытый текст
@echo off setlocal enableextensions enabledelayedexpansion call :GetTemporaryName >"%TemporaryName%" ( for /f "usebackq delims=" %%i in (`2^>nul dir /a:-d /b "*.htm*"`) do echo %%~fi ) "%ProgramFiles%\prince-11.3.1-win64\bin\prince.exe" --input=html --input-list="%TemporaryName%" --output="Result.pdf" del /f /q "%TemporaryName%" endlocal exit /b 0 rem ========================================================================== rem Функция GetTemporaryName() rem rem Серый форум / CMD/BAT: генерация пути для временного файла или папки rem (http://forum.script-coding.com/viewtopic.php?id=6259) rem ========================================================================== :GetTemporaryName setlocal enableextensions enabledelayedexpansion :NextName set sTempName=%temp%\temp%random%.tmp if exist "%sTempName%" goto :NextName set sProcName=%~0 endlocal & set %sProcName:~4%=%sTempName% exit /b 0 rem ========================================================================== или, для Вашего случая нумерованных файлов, вместо for /f: Скрытый текст
Проблемы, как обычно, возникнут с именами на кириллице. |
Отправлено: 18:32, 31-12-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] CMD/BAT - С помощью bat-ника найти и удалить текст в файле | InVariable | Скриптовые языки администрирования Windows | 4 | 22-05-2015 20:06 | |
CMD/BAT - проблема с последовательностью в Bat файле | TraKtir | Скриптовые языки администрирования Windows | 5 | 14-09-2013 13:15 | |
CMD/BAT - Сочетание клавиш в bat файле. | Kamerin | Скриптовые языки администрирования Windows | 2 | 20-09-2011 02:22 | |
CMD/BAT - [решено] Работа с 7z.exe в bat\cmd файле | Medic84 | Скриптовые языки администрирования Windows | 5 | 13-10-2009 15:35 | |
Любой язык - Проверка сетевых ресурсов в BAT-файле | chkur | Скриптовые языки администрирования Windows | 1 | 03-12-2008 12:39 |
|