Я не знаю, а как мне сделать, чтобы у меня в папке lib были только необходимые компоненты, как это сделано в ExifTool версии под Windows.
И еще один вопрос. Как можно из ExifTool вытащить те скрипты, которые отвечают за работу с JPEG?
Отслеживать
задан 3 авг 2012 в 13:08
457 3 3 серебряных знака 14 14 бронзовых знаков
Как вариант перехват для приложения API отвечающих за получение каталога временных файлов GetTempPath и ExpandEnvironmentStrings, с последующей подменой выдачи на созданный временный каталог со случайным именем в нужной тебе папке.Запуск приложения — своим загрузчиком, выполняющим перехват и подмену. Вариант реализации — на любителя.
3 авг 2012 в 14:43
Можно и без перехвата API, в батнике: генерировать случайное имя для %TMP% и/или %TEMP%, создавать эти каталоги, далее set TMP=, set TEMP=, запускать exiftools и прибивать их после.
3 авг 2012 в 15:08
а ни как нельзя без распаковки сделать?
3 авг 2012 в 16:17
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Tutorial Download And Install Perl Windows
меня по сути утаивает вариант, если сделать две папки:
А так и можно 🙂 Только в PATH прописать путь к perl.exe и таскать это всё по разным машинам без установки, будет работать. Только соблюсти все зависимости от того, что распаковывается во временную папку.
Обновление
- Устанавливаем perl.exe и необходимые dll в d:perlbin (в 5.12 их 6 штук)
- Копируем tmpчто-тоcache-exiftool-xxxinclib в d:perllib
- Запускаем perl.exe exiftool (exiftool лежит в tmpчто-тоcache-exiftool-xxxincscripts)
Если ему чего-то не хватает — сам скажет.
Обновление 2
Урезанную версию perl мне ставить некуда, но под 5.12 выдранный из распаковки exiftool и перенесённый в другое место прекрасно работает. Даже без «своего» окружения: http://pastebin.com/21ywsgcY
Может криво объяснил. От перла (на примере 5.12) нужны только
- perl.exe и dll из perl/bin
- В каталоге perl/lib оставляются только те файлы, младшие братья которых находятся в cache-exiftool-xxxinclib
- Из cache-exiftool-xxxincscripts берётся только exiftool , остальное не нужно.
Источник: ru.stackoverflow.com
Как запустить программу на Perl в Windows?
Недавно начал изучать Perl. Не могу понять, как правильно запускать программы. Запускаю perl файлы через командную строку.
Не могу понять что такое :»#!/usr/bin/perl»
Программы запускаются и без этой строки в начале кода.
How to execute Perl program on command prompt?
Также хотел спросить, как запустить встроенные предупреждения в Perl?
Должно же быть что-то вроде IDE для Perl.
- Вопрос задан более трёх лет назад
- 828 просмотров
1 комментарий
Простой 1 комментарий
Решения вопроса 0
Ответы на вопрос 1
программист
1. Есть много способов: можете писать руками путь/к/перлу/perl скрипт.pl (точнее, у вас в качестве пути может быть что-нибудь вроде C:Program FilesSome Perlbin), можете добавить путь к перлу в переменную окружения %PATH% и запускать скрипты командой perl скрипт.pl , можете настроить ассоциацию перловых исходников с интерпретатором — вариантов масса. А ещё был когда-то cygwin, где перл конечно же был, а ещё в свежих версиях Windows 10 есть линуксовая подсистема, где тоже перл должен быть.
2. #!/usr/bin/perl — так называемый shebang, особый комментарий, где после решётки с восклицательным знаком пишется путь к интерпретатору (это может быть не только перл) и, если надо, дополнительные параметры (например, #!/usr/bin/perl -F’ ‘ -nla ). В юниксоподобных системах это имеет значение — при запуске скрипта без указания команды вызова интерпретатора операционная система как раз в shebang и смотрит, чтобы понять, как же выполнить скрипт — бывают скрипты и без расширений. Под Windows shebang скорее всего роли не играет.
3. Чтобы перл больше ругался, используйте
use warnings; use strict;
Вместо первой из этих строк можете добавить ключ -w при запуске перлового интерпретатора.
4. IDE с поддержкой перла существуют. Лучшее из того, что попадалось мне под Windows — Komodo IDE. Есть упрощённая бесплатная версия — Komodo Edit: это уже не IDE (нет отладчика, юнит-тестов и ещё кучи всякой всячины), а просто навороченный редактор с поддержкой перла.
Источник: qna.habr.com
Как запустить perl скрипт на windows
В настоящее время варианты PERL (так называемые «порты» (ports) ) существуют для многих разных машин и операционных систем, в том числе и для Windows 9x, и Windows NT. Искать их надо в первую очередь на сайте CPAN (Comprehensive Perl Archive Network) — www.cpan.org. Там же можно найти многочисленные модули, программы, документацию и другие материалы, отосящиеся к Perl. Порты perl для разных платформ находятся в разделе Browsing -> Perl binary distributions («ports»)
Для Windows платформ существуют две основных «линии» Perl — так сказать, «классическая» и от фирмы ActiveState (www.activestate.com). Фирма ActiveState выпускает «свои» порты Perl для Win32, средства для запуска Perl как ISAPI extension (ISAPI — это интерфейс серверных расширений веб-серверов Microsoft — PWS и IIS) и различные утилиты разработчика.
Последние уже продаются за деньги (на сайте — демо-версии), в то время как PERL можно скачать и использовать бесплатно. Существуют и другие, менее известные порты PERL для Win32. Для работы нужен perl версии 5 или выше. Лично я уже 2 года пользуюсь Perl 5.003_07 от ActiveState. Узнать версию интерпретатора можно командой perl -v.
Установка Perl
Процесс установки Perl из дистрибутива не представляет собой ничего сложного. Программа установки создаст папку для Perl и подпапки в ней, разместит необходимые файлы, а также пропишет путь к файлу perl.exe в autoexec.bat, а также необходимые ключи реестра. Теперь Вы можете запустить Perl-скрипт, просто введя в командной строке:
perl .
Сразу после установки Perl Вы не сможете запускать CGI-скрипты через Ваш веб-сервер. Для того, чтобы это было возможно, надо «прописать» perl в установках веб-сервера как «script handler» (программа, поддержи- вающая скрипты). Как? Это зависит от веб-сервера.
Вообще, существует 2 типа CGI-скриптов: «бинарные» (откомпилированные в исполняемый код программы) и «интерпретируемые» — к которым относятся и Perl-скрипты. Важное отличие между ними заключается в том, что вторым нужен так называемый «script handler»-программа-интерпретатор, исполняющая скрипт. Для web-сервера perl.exe и является тем самым «script handler»-ом. В большинстве web-серверов для Windows (включая ее «родные» PWS и IIS) «бинарные» CGI-скрипты поддерживаются автоматически. Принадлежность же интерпретируемых скриптов к определенному handler-у определяется расширением файла (исключение — в некоторых «изначально UNIX-овских» web-серверах, например Apache, handler определяется первой строчкой скрипта, начинающейся с «#!»).
Установка поддержки Perl-скриптов в PWS и IIS
Нижеследующие рекомендации по установке Perl для IIS/PWS были опробованы на PWS в составе Windows95 OSR2. В PWS и IIS данные о расширениях скриптов находятся в системном реестре Windows в разделе
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesw3svcparametersScript Map В частности, если Вы хотите, чтобы файлы с расширениями cgi и pl запускались как Perl-скрипты, Вам надо прописать следующие параметры в вышеуказанный раздел: Если у Вас perl.exe установлен в каталог C:Perlbin, то эти параметры будут иметь вид:
В тех папках web-сервера, где планируется размещать Perl-скрипты, должно быть разрешение на их исполнение (в PWS это настраивается через веб-интерфейс). Источник
Как запустить скрипт Perl
Perl не входит в стандартную поставку ОС Windows,
но его можно бесплатно скачать с нескольких официальных сайтов фирм-поставщиков
программных инструментов, свободно использовать и даже распространять в составе своих
собственных инструментов. установка вместе с закачкой занимает 5-10 минут в зависимости от. После установки со всеми умолчаниями( рекомендованный способ ): А) появится папка C:Perl Б) папка с подкаталогами займёт место
100Мб; в дальнейшем может расти за счет установки доп. модулей;
модули лежат в простом текстовом виде, частью системы Windows не являются и могут быть просто удалены вместе с c:perl, если perl больше не нужен В) файлы с расширением .pl будут зарегистрированы и привязаны к приложению c:perlbinperl.exe
что позволит запускать их кликом мышки или простым набором только имени файла в ком. строке( см. ниже ) Г) В системной переменной PATH пропишется путь c:perlbin Д) само приложение Perl является консольным приложением Windows, поэтому рекомендуется запускать его
в стандартном консольном окне cmd/bat общий способ запуска такой: c:UsersUser> perl file.pl аргументы
либо однострочником c:UsersUser> perl -E « say ‘Привет, пользователь. ‘ «
как было сказано в пункте В, если дополнительные ключи запуска не требуются, можно просто набрать file.pl
и скрипт выполнится Е) Шрифт консольного окна(в свойствах окна) рекомендуется выставить TrueType Lucida Console полюбившегося размера,
а ширину окна и буфер пошире и поглубже, не скупитесь. Ж) Если вдруг понадобятся дополнительные модули, то они добавляются с помощью команды c:UsersUser> ppm install Net::Ftp
где Net::Ftp — пример имени модуля. сам модуль лежит на сайте ActiveState, поэтому интернет должен быть при установке модуля включен, в дальнейшем нет.
Возможны и другие способы, за справками по этому поводу, а также и по другим перл-поводам обращайтесь на ветку PERL форума З) Документация по Perl доступна в текстовом виде по команде perldoc,
в HTML-виде через меню [Пуск]->ActivePerl, а так же на сайте http://perldoc.org И) Задачи, которые можно автоматизированно решать с помощью Perl ( вкратце ): 1) Обработка текста ( нахождение строк, слов, замена, удаление, преобразование )
в том числе и Unicode ( UTF-8, UTF-16 ),
в том числе гипертекстовые XML, HTML — обработка тэгов,
в том числе XLS, XLSX(даже без наличия установленного Excel) , CSV,
в том чиле конфигурационные .INI
2) То же, но не для текстовых форм, а для бинарных
3) Манипуляции с файлами и каталогами ( поиск, копирование, переименование, чтение и замена атрибутов )
4) Системное администрирование( доступ к локальным пользователям, буферу обмена, AD, Реестру, NTFS );
Программирование по технологии Microsoft ActiveX ( как VBA )
5) Системное администрирование путём склеивания между собой консольных команд ОС Windows
6) Универсальный доступ к любым базам данных [MS SQL, Oracle]( через драйвера БД), создание своих систем хранения
7) Сетевой доступ FTP ( закачка, загрузка, манипулирование итд )
8) Сетевой терминальный доступ Telnet, SSH, программирование маршрутизаторов, коммутаторов, модемов
9) WWW-доступ, закачка страниц, сайтов, создание web-роботов
10) Web-программирование(сайты, интерфейсы, управление изображениями), создание Web-серверов(автономных или в связке с Apache, NGINX )
11) Общее сетевое программирование( сокеты, клиенты, серверы, сниферы, анализаторы трафика )
12) Почта ( отправка писем, прием писем, манипулирование почтовыми ящиками )
13) Математическое программирование ( матрицы, шифрование )
14) Создание графического пользовательского интерфейса GUI ( кроссплатформенного )
Язык Perl является кроссплатформенным, поэтому при аккуратном программировании
написанная программа будет работать одинаково на Windows, Linux, Mac OS X, Solaris, AIX, OpenVMS, a также мобильных телефонах Android Источник
Как запускать скрипты через консоль
Довольно часто мне задают вопрос о том, как запустить скрипт через консоль Windows. Многие запускают скрипты двойным кликом и не могут понять, почему скрипт прекращает свою работу. Поэтому решил написать небольшую инструкцию по запуску Perl-скриптов через консоль. Как запустить консоль:

Появится подобное окно Консоль поддерживает множество команд — ntcmds Однако, для того, чтобы запустить скрипт, достаточно уметь пользоваться одной — cd. Как запустить скрипт: Предположим, на диске C: есть директория script, и в ней лежит скрипт test.pl.
Для того, чтобы его запустить, требуется предварительно перейти в директорию со скриптом, набрав в консоли: cd c:script
и нажать Enter. На экране отобразится нечто подобное: Теперь нужно ввести имя скрипта (test.pl) и нажать Enter:
Если скрипт не запустился, и консоль выдала подобный текст: «test.pl» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом. или
‘test.pl’ is not recognized as an internal or external command,
operable program or batch file. То запускать придется так: c:perlbinperl.exe test.pl c:perlbinperl.exe — путь до интерпретатора Perl, test.pl — запускаемый скрипт. Естественно, у вас в системе должен стоять ActivePerl или какой-нибудь другой интерпретатор. Надеюсь, теперь мне перестанут задавать вопросы про консоль.
Источник: onecomp.ru