2016-07-26 145 views
0

BATファイルを書くか、または.shファイルに変換するのはよくわかりません。BATファイルを.shファイルに簡単に変換する

この.batファイルを.shファイルに変換する必要があります。誰かが私にこれを手伝ってもらえると本当に感謝しています。

@echo off 
java -cp SqlLite.jar;oracle.jar;mysql.jar;mail.jar;activation.jar -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel -Xms32m -Xmx512m SqlLite 
+1

バッチスクリプトからシェルスクリプトやbashスクリプトに実際に変換することはできません。実際にJavaをC#に変換することはできません。スクリプトが別の言語で実装しているアルゴリズムを再実装することができます。 – Aaron

答えて

2

(UPDATE:。。UNIXシステムでは、Javaは:の代わりに、クラスパス引数で;期待していることを示してKlitosの答えを、注意してオリジナルの答えは以下の)

.SHで、あなたが@echo offを必要としませんまた、; を含む引数は、;が.shのコマンドラインを終了するため、引用符で囲む必要があります。

#!/bin/bash 

java -cp "SqlLite.jar;oracle.jar;mysql.jar;mail.jar;activation.jar" -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel -Xms32m -Xmx512m SqlLite 
1

あなたは、このようなOSXやLinuxなどのUnixライクなシステム上のshスクリプトを実行しようとしている場合は、Javaの-cp(クラスパス)オプションではなくセミコロンのコロンを持つ要素を分離:

java -cp SqlLite.jar:oracle.jar:mysql.jar:mail.jar:activation.jar -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel -Xms32m -Xmx512m SqlLite 

また、デフォルトのルック・アンド・フィールをWindowsから別のものに変更することもできます。

+1

私はあなたの序文が好きですが、より具体的にできると思います: 'java'実行ファイルがLinux版であれば、ウィンドウの' java'では ';'ではなく、OSにかかわらず ':'を使うべきです。たとえば、cygwin(またはWindow10のbashシェル?)で実行されるシェルスクリプトは、ウィンドウの 'java'を呼び出すので、'; 'を使用する必要があります。 – Aaron

+1

@Aaron yes、確かに。実際には、より正確に言えば、Javaは 'path.separator'システムプロパティを使用します。これはデフォルトでは"; " Windows版Javaでは ":"、他のバージョンでは ":"となります。あなたは "java -Dpath.separator =; ..."と言ってそれを上書きすることができますが、それは最初の場所でシステムデフォルトのパス区切り文字を簡単に使うことができるので意味がありません。 –

0

ファイル拡張子を変更するだけです。 .batの終わりを.shの終わりに変更します。 Windows 10を使用していて、ブラウズ中にファイル拡張子が表示されない場合は、「表示」に進み、右側のファイル拡張子をチェックします。 CMD(またはバッチファイル上)にしてこれを行うには

rename c:\my\first\file\name.bat c:\my\second\file\name.sh 

を入力renamerenに置き換えることができ、かつ任意のディレクトリ(フォルダ)またはファイルは、それらにスペース(Cを持っている場合:\ users \%username%\ desktop \ thisは私のfile.batです)、 "quotes"( "c:\ users \%username%\ desktop \ this is my file.bat")に入れてください。

あなたのやっていることに幸運。

関連する問題