繁体   English   中英

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

[英]Converting a shell file to a windows 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 "$@"

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

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

p=. 应该改为set p=.

$p应更改为%p%

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

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

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

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

更多提示:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM