cd ../../jobs
set CLASSPATH=.;../xyz.jar;../mysql-connector-java-5.1.6-bin.jar
java folser.folder1 ../Files/MySQL.xml
cd ..
任意のディレクトリからバッチファイルを実行する必要があります。私はjavaのパスを設定しました。誰か助けてくれますか?任意のフォルダからバッチファイルを実行する方法
cd ../../jobs
set CLASSPATH=.;../xyz.jar;../mysql-connector-java-5.1.6-bin.jar
java folser.folder1 ../Files/MySQL.xml
cd ..
任意のディレクトリからバッチファイルを実行する必要があります。私はjavaのパスを設定しました。誰か助けてくれますか?任意のフォルダからバッチファイルを実行する方法
あなたはメッセージが少し文字化けしていましたが、私はあなたがjavaがパス上にあると言っていると思いますが、バッチファイルからアプリケーションを正しく実行することはできません。 Java用のクラスパスオプション(-cp)がないようです。現在のディレクトリ(バッチファイルが住んでいる、すなわち1)を取得する
cd ../../jobs set CLASSPATH=.;../xyz.jar;../mysql-connector-java-5.1.6-bin.jar java -cp %CLASSPATH% folser.folder1 ../Files/MySQL.xml cd ..
使用します。%cd%
例えば:これは試してみてくださいの* nix(例えばLinux)の下では
set JAVA_HOME=%cd%\jdk1.x.x
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=%JAVA_HOME%\lib\tools.jar;%cd%\lib\myjar.jar;etc,etc
:のWindows NT/XPの下で
cd "`dirname \"$0\"`"
# your current directoy is now the script's directory
cd ../../jobs
set CLASSPATH=.:../xyz.jar:../mysql-connector-java-5.1.6-bin.jar
java folder.folder1 ../Files/MySQL.xml
cd ..
# when the script terminates, you are automatically
# back to the original directory
/等:
SETLOCAL
PUSHD .
REM current directory has been saved and environment is protected
CD /d %~dp0
REM your current directoy is now the script's directory
CD ..\..\jobs
SET CLASSPATH=.;..\xyz.jar;..\mysql-connector-java-5.1.6-bin.jar
java folder.folder1 ..\Files\MySQL.xml
CD ..
REM before the script terminates, you must explicitly
REM return back to the original directory
POPD
ENDLOCAL
私がヴラドの答えにコメントすることはできませんが(コメントは回答よりも多くのポイントを必要としますか?)私はいつも頼りになることには気をつけています。
CD /d %~dp0
WindowsはUNCパスにCDを書き込むことができず、潜在的に致命的な結果を招くことなく、%windir%にあなたを落とす厄介な癖があります。
代わりに、それはより長いですが、完全なパスが必要なたびに、%〜dp0(またはその値を含む変数)を参照するほうがよいでしょう。
BAD:
cd /d %~dp0
rd temp
GOOD:
rd %~dp0\temp
は、このWindowsまたはLinuxですか? cdコマンドで "/"を使用すると、Linuxが示されますが、シェルスクリプトではなくバッチファイルについて説明します。 – paxdiablo