- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perlでコマンドプロンプト実行)
perlでコマンドプロンプト実行
このQ&Aのポイント
- 現在、jperlを使用し、あるフォルダ内の中にあるサブフォルダをlaplusを使用しコマンドラインから圧縮をかけるというスクリプトを作成しています。
- しかし、特定のロジックを実行するとエラーが発生し、正常に圧縮がされません。
- おそらく「Program Files」の半角スペースが原因であると考えられますが、正しい方法がわかりません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
可能なら新しい今時のperlを使いましょう。 今ちょっと昔のjperlを発掘して試して見ましたが、 --- C:\> jperl -v This is jperl, version 4.036 + 1.4(WIN32, SJIS) May 25 1996 --- このjperlだと「'c:\Program' は、内部コマンド…」エラーになりましたが、 --- C:\> perl -v This is perl, v5.8.7 built for MSWin32-x86-multi-thread --- こちらのperlだと、C:\Program Files 以下のプログラムも問題無く system で実行できました。 (使ったのはActivePerlです。Windows用のインストーラがあるので簡単にインストールできます。 http://www.google.co.jp/search?q=ActivePerl&lr=lang_ja なお、どうしても jperl で動かす必要があるのなら、 >$cmd = "c:\\Progra~1\\Lhaplus\\Lhaplus.exe /c… で実行は可能だと思います。
お礼
ありがとうございました! 引き継いだものをそのまま使い続けていたため 最新バージョンにするというステップを失念していました。 早速試してみます!