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

时间:2011-09-07 20:39:37

标签: shell batch-file

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

答案 0 :(得分:4)

你的意思是Windows批处理文件,对吗?如果是这样,您应该在问题中指明。

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

p=.应更改为set p=.

$p应更改为%p%

要在一行上执行多个命令,请将它们与&而不是;分开(或者,更好的是,每行只写一个命令)。

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

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

将shell脚本转换为批处理文件没有直接的方法。他们将在不同的系统上运行。如果您不知道该怎么做,最好的办法就是找到一个人。

答案 1 :(得分:1)

更多提示:

#开头的行是注释。在批处理文件中使用rem

批处理文件的所有命令行参数%@的标记必须替换为%*