将一个shell文件转换为Windows批处理文件

4

我被告知需要将以下.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

您是指Windows批处理文件,对吗?如果是的话,您应该在问题中明确说明。

我没有完整的答案,但我可以给出一些语法提示。

p=. 应更改为 set p=.

$p 应更改为 %p%

要在一行上执行多个命令,请使用 & 分隔它们,而不是 ; (或者最好,每行只写一个命令)。

Windows 使用 \ 而不是 / 作为目录分隔符。

这些文件可能会存在于不同的位置,甚至可能不存在。这假定您正在从类Unix系统获取一个 .sh 文件并为Windows系统创建一个 .bat 文件。如果它们都是相同的系统(可能因为您正在使用Cygwin),您也应该提到。

将shell脚本翻译成批处理文件没有简单的方法。它们将在不同的系统上运行。如果您不知道如何做到这一点,最好找到一位能够帮助您的人。


1
一些更多的提示:
# 开头的行是注释。在批处理文件中使用 rem
所有命令行参数的标记 %@ 必须替换为批处理文件中的 %*

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接