2011-09-07 4 views
4

다음 .sh 파일을 .bat 파일로 변환해야한다고 들었습니다. 어떻게 해야할지 전혀 모르겠다. 누군가 나에게 힌트를 줄 수 있을까? 짧은 코드입니다. 여기에 있습니다 :쉘 파일을 Windows 배치 파일로 변환

#!/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 "[email protected]" 

답변

4

Windows 배치 파일을 의미합니까? 그렇다면 질문에이를 지정해야합니다.

완전한 대답은 없지만 몇 가지 구문 팁을 제공 할 수 있습니다.

p=.set p=.으로 변경해야합니다.

$p%p%으로 변경해야합니다.

한 줄에 여러 명령을 실행하려면 ;이 아닌 &으로 구분하십시오 (또는 한 줄에 하나의 명령 만 쓰는 것이 좋습니다).

Windows는 디렉터리 구분 기호로 / 대신 \을 사용합니다.

파일이있는 경우 파일이 다른 위치에있을 수 있습니다. 이것은 유닉스 계열 시스템에서 파일을 .sh으로 가져 가고 Windows 시스템 용으로 .bat 파일을 생성한다고 가정합니다. 두 시스템이 동일한 시스템 (Cygwin을 사용하고 있기 때문에)이라면 그 사실을 언급해야합니다.

셸 스크립트를 배치 파일로 변환하는 간단한 방법은 없습니다. 그들은 다른 시스템에서 실행될 것입니다. 어떻게해야할지 모르는 경우 최선의 방법은하는 사람을 찾는 것입니다.

1

좀 더 팁 : #로 시작

하는 줄은 주석입니다. 배치 파일에 rem을 사용하십시오.

배치 파일의 경우 모든 명령 줄 인수 %@의 토큰을 %*으로 바꾸어야합니다.

관련 문제