Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] BAT Создание PDF файлов из группы файлов (JPG)

Ответить
Настройки темы
CMD/BAT - [решено] BAT Создание PDF файлов из группы файлов (JPG)

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времен суток! Помоги пожалуйста решить такую задачу. Имеется множество папок 1, 2, 3 ... N, в каждой папке содержится по три файла JPG, из них необходимо сделать многостраничный PDF и присвоить имя файлу как у папки, в которой лежат изначальные файлы. И сохранить файл PDF также в папке с изначальными файлами. Заранее спасибо!

Отправлено: 10:04, 14-03-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


se_arts, опишите Вашу задачу.

Отправлено: 11:14, 31-05-2017 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день, Iska.
Моя задача: Есть рандомное количество папок (могут быть вложения, уровень вложений рандомный), внутри которых находится рандомное количество изображений (JPG или TIF). Необходимо в пределех каждой папки сделать свой PDF, название PDF = названию папки.
Задача и решение очень похожи на задачу и ее решение для raquelle.
Использую Ваш код:
Скрытый текст
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolder=%~1

if not defined sSourceFolder (
echo Usage: %~0 ^<Source folder^>
exit /b 1
)

if not exist "%sSourceFolder%" (
echo Source folder [%sSourceFolder%] not found.
exit /b 2
)

for /l %%i in (1, 1, 1000) do if exist "%sSourceFolder%\%%i\*.jpg" (
echo [%sSourceFolder%\%%i]
"d:\Work\Prog\ImageMagick\convert.exe" "%sSourceFolder%\%%i\*.jpg" -format pdf "%sSourceFolder%\%%i\%%i.pdf"

)
endlocal
exit /b 0

Результат не получается. Окно CMD открывается и сразу закрывается. Внутри что-то написано, но не успеваю прочитать.

При использовании только такой строки (через "запуск программ") все срабатывает, PDF-файл создается:
Скрытый текст
d:\Work\Prog\ImageMagick\convert.exe convert -quality 80 d:\In-Out\BAT_CMD_Test\Test17_PDF_convert\2\001\*.jpg d:\In-Out\BAT_CMD_Test\Test17_PDF_convert\2\001\001.pdf

Пытался использовать данную строку в Вашем коде - результат не получил.

Подскажите, что я не правильно делаю?

Отправлено: 11:13, 06-06-2017 | #12


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата se_arts:
Задача и решение очень похожи на задачу и ее решение для raquelle. »
Совсем не похоже. Ни задача, ни, тем более, решение.

Цитата se_arts:
Окно CMD открывается и сразу закрывается. Внутри что-то написано, но не успеваю прочитать. »
Откройте окно консоли командной строки и выполните пакетный файл в нём. Будет видно.

Цитата se_arts:
Моя задача: Есть рандомное количество папок (могут быть вложения, уровень вложений рандомный), внутри которых находится рандомное количество изображений (JPG или TIF). Необходимо в пределех каждой папки сделать свой PDF, название PDF = названию папки. »
Попробуйте так:
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolder=%~1

if defined sSourceFolder (
	if exist "%sSourceFolder%" (
		for /f "usebackq delims=" %%i in (`2^>nul dir /a:d /b /s "%sSourceFolder%"`) do (
			echo [%%~fi]
			"%ProgramFiles%\ImageMagick\magick.exe" "%%i\*.jpg" "%%i\*.tif" -format pdf "%%i\%%~ni.pdf"
		)
	) else (
		echo Can't find source folder [%sSourceFolder%].
		exit /b 2
	)
) else (
	echo Usage: %~nx0 ^<sSource folder^>
	exit /b 1
)

endlocal
exit /b 0

Путь к целевой папке задаётся параметром пакетного файла (также можно просто перетащить папку на пакетный файл или на ярлык на этот пакетный файл).

P.S.
Цитата se_arts:
…рандомное … рандомный … рандомное…»
Есть же два хороших слова — «случайное» и «произвольное».
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:32, 12-06-2017 | #13


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Для "особо оодаренных " можно "разжевать" по подробнее??

создал два файла из постов 6 и 13 с расширением cmd,
- 6.cmd и 13.cmd,
- заменил в коде *.jpg на *.gif
- перетаскиваю на них папку пробегает dos окно и не чего...

на 13.cmd через Console Window Interceptor (Автор - Dragokas) - получил окно
Цитата:
C:\htp>setlocal enableextensions enabledelayedexpansion

C:\htp>set sSourceFolder=C:\htp\2

C:\htp>if defined sSourceFolder (if exist "C:\htp\2" (for /F "usebackq delims="
%i in (`2>nul dir /a:d /b /s "C:\htp\2"`) do (
echo [%~fi]
"C:\Program Files\ImageMagick\magick.exe" "%i\*.gif" -format pdf "%i\%~ni.pdf"

) ) else (
echo Can't find source folder [C:\htp\2].
exit /b 2
) ) else (
echo Usage: 13.cmd <sSource folder>
exit /b 1
)

C:\htp>endlocal

C:\htp>exit /b 0

Последний раз редактировалось webresurs, 14-06-2017 в 10:40.


Отправлено: 10:25, 14-06-2017 | #14


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Не надо изобретать велосипед. Откройте окно консоли командной строки, запустите пакетный файл оттуда, указав путь к искомой папке параметром пакетного файла. Будет видно, что и как.

Отправлено: 11:25, 14-06-2017 | #15


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Не надо изобретать велосипед. »
- опять "25"!!!

Отправлено: 12:03, 14-06-2017 | #16


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Не надо изобретать велосипед »
то же самое
win+r cmd "C:\htp\13.cmd C:\htp\2"

Отправлено: 09:14, 15-06-2017 | #17


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Покажите скриншот окна консоли после выполнения пакетного файла. Покажите содержимое «C:\htp\2».

Отправлено: 09:30, 15-06-2017 | #18


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата webresurs:
2>nul dir /a:d /b /s "C:\htp\2" »
C:\htp\2, исходя отсюда - директория, вопрос что вы запускаете первым параметром для C:\htp\13.cmd в строке: C:\htp\13.cmd C:\htp\2

Отправлено: 11:26, 15-06-2017 | #19


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg 0001.jpg
(90.6 Kb, 8 просмотров)

Добрый день, Iska.
Ваш код работает. Спасибо за помощь. Работает во всех вложениях (у меня были вложения до 4-ого уровня).

Я немнго переделал Ваш код, чтобы можно было запускать сам bat-файл - мне так удобнее, чем запускать через проводник методом перетягивания.
Вот код:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq delims=" %%i in (`2^>nul dir /a:d /b /s "%CD%"`) do (
	echo [%%~fi]
	"d:\Work\Prog\ImageMagick\convert.exe" "%%i\*.jpg" "%%i\*.tif" convert -quality 75 "%%i\%%~ni.pdf"
	)

endlocal
exit /b 0
структура в прикрепленном файле

Отправлено: 16:57, 15-06-2017 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] BAT Создание PDF файлов из группы файлов (JPG)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - BAT. Поочередное открытие группы файлов приложением. SergMarkow Скриптовые языки администрирования Windows 13 09-01-2014 22:11
VBS/WSH/JS - Создание группы файлов Excel на основе списка Serg2010 Скриптовые языки администрирования Windows 4 23-03-2013 00:43
Создание группы файлов Excel на основе списка Serg2010 AutoIt 1 19-03-2013 05:43
CMD/BAT - Переименование группы файлов, используя команды bat SergMarkow Скриптовые языки администрирования Windows 0 20-01-2013 23:23
Ошибка - Не всегда открываются файлы pdf по ссылке из chm файлов j00 Microsoft Windows 2000/XP 4 29-11-2008 18:06




 
Переход