プロが教える店舗&オフィスのセキュリティ対策術

senの環境変数を設定する場合、マイコンピュータを右クリックして、環境変数選択して、SEN_HOMEをつくり、
そこにC:\sen-1.2.2.1としました。
次にpathに%SEN_HOME%\binとしました。
 そしてコマンドプロントでsh sen.shとしても'sh' は、「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」とエラーがでます。
 antは同じ要領でできたのですが・・・

A 回答 (2件)

えーと、RE-CONFIRM さん。


WINDOWSのバッチファイルの実行の仕方の問題であります。

(この手のオープンソースは、
そのままではうまく実行できないことがあります。
利用する側にも、
要はこーゆーことがやりたいわけね。オレの環境にあわせて書き直して動かしてやるぞ!
ぐらいの度量が必要です。)

sen.batを実行するときに、一体どういうことが起こっているかといいますと。。。

C:\sen-1.2.2.1\bin\
にsen.bat というバッチファイルがあります。
それをコマンドプロンプトで実行しているわけです。

では、sen.batを秀丸とかのテキストエディタで開いてください。
(改行がUNIXのものなので、WINDOWS付属のメモ帳
で開くと見づらいです。)

すると、batファイルの処理内容が分かると思います。
最終行で、エラーがでているわけですね。
'C:\Program' は、内部コマンドうんぬんと。。。

で、

@%JAVA_HOME%\bin\java -Dsen.home=%SEN_HOME% ・・・

という行のどこに、'C:\Program'という文字があるのか!という疑問が2秒後に涌きますが、
これ、実は、%JAVA_HOME% が原因です。
では、%JAVA_HOME%はどこにありますでしょうか?
Javaをインストールしたときに、javaのインストール先を環境変数にJAVA_HOMEとして設定したご記憶があるかと思います。それです。コマンドプロンプトで見ると、

> echo %JAVA_HOME%

ずばり、C:\Program Files\ ....にあると思います。
このパスの、Program Files というディレクトリ名。
空白文字が含まれることが問題です。
空白でブチ切れているため、Windowsさんは、
C:\Program <引数>という命令を実行せよと誤解し、
「C:\に、Program なんていう名前の実行ファイルは存在しません」と怒っているのです。

そこで、結論。
最後の行の%JAVA_HOME%を、
"%JAVA_HOME%" にように、ダブルクォーテーションでくくったうえで、保存して、sen.batを実行します。
その前のantをきちんとやっておけば、実行できます(いや、実行できるかもしません)
    • good
    • 0

Windowsですよね。



sh sen.sh

ではなく、

sen.bat

と思いますが。。

この回答への補足

C:\sen\bin>sen.bat

C:\sen\bin>rem set classpath

C:\sen\bin>SET CLASSPATH=C:\sen-1.2.2.1\lib\sen.jar

C:\sen\bin>SET CLASSPATH=C:\sen-1.2.2.1\lib\sen.jar;C:\sen-1.2.2.1\lib\commons-l
ogging.jar
'C:\Program' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

補足日時:2006/04/27 16:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!