Преобразование файла оболочки в пакетный файл Windows - PullRequest
4 голосов
/ 08 сентября 2011

Мне сказали, что мне нужно преобразовать следующий файл .sh в файл .bat.Я понятия не имею, как это сделать, кто-нибудь может дать мне несколько советов?Это короткий код.Вот оно:

#!/bin/bash

#enables execution from another directory
#p=/path/to/PDFAnalyser
p=.

java -cp $p/bin ;$p/../pdfXtk-Extras/jar/pdfxtk-extras.jar ;$p/../pdfXtk-GUI/jar/pdfxtk-gui.jar ;$p/../pdfXtk/jar/pdfxtk-backend.jar ;$p/../pdfXtk/lib/commons-collections-3.1.jar ;$p/../pdfXtk/lib/commons-logging.jar ;$p/../pdfXtk/lib/fontbox-1.1.0.jar ;$p/../pdfXtk/lib/jai_codec.jar ;$p/../pdfXtk/lib/jai_core.jar ;$p/../pdfXtk/lib/jai_imageio.jar ;$p/../pdfXtk/lib/log4j-1.2.14.jar ;$p/../pdfXtk/lib/pdfbox-1.1.0.jar ;$p/../TouchGraph-Modified/jar/touchgraph-modified.jar ;$p/../TouchGraph-Modified/lib/TGWikiBrowser.jar ;$p/../pdfXtk/lib/xercesImpl.jar ;$p/../pdfXtk-Extras/lib/JavaOCR.jar at.ac.tuwien.dbai.pdfwrap.ProcessFile "$@"

Ответы [ 2 ]

4 голосов
/ 08 сентября 2011

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

У меня нет полного ответа, но я могу дать несколько советов по синтаксису.

p=. следует изменить на set p=..

$p следует изменить на %p%.

Чтобы выполнить несколько команд в строке, разделите их с помощью & вместо ; (или, что еще лучше, просто введите одну команду в строку).

Windows использует \ вместо / в качестве разделителя каталогов.

Файлы, вероятно, будут находиться в разных местах, если они вообще существуют. Это предполагает, что вы берете файл .sh из Unix-подобной системы и создаете файл .bat для системы Windows. Если они обе - одна и та же система (возможно, потому что вы используете Cygwin), вы должны также упомянуть об этом.

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

1 голос
/ 08 сентября 2011

Еще несколько советов:

Строки, начинающиеся с #, являются комментариями.Используйте rem в пакетном файле.

Маркер для всех аргументов командной строки %@ должен быть заменен на %* для пакетного файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...