• ベストアンサー

perlから他のプログラムを動かす方法

Windows XP環境で作業をしています。 コマンドプロンプトで、次のように動かすプログラムがあったとき、 今のディレクトリ>command file1 file2 file3 これをperlから呼び出したい(perlで実行させたい)のですが、どのように書けばいいのでしょうか。 調べるとパスという言葉がよく出てくるのですが、パスという言葉の意味もよくわかっていません; わかる方がいらっしゃいましたら、是非教えてください。 よろしくお願いします。

  • DZmas
  • お礼率91% (22/24)
  • Perl
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

コマンドプロンプトで実行できるならパスはあんまり気にしなくても system で動くはずなんだがなぁ....

DZmas
質問者

お礼

systemの使い方を誤っていました。 system "";のなかにそのままコマンドプロンプトと同じことを書けばいいのですね。 ありがとうございます。

関連するQ&A

  • perlプログラムが動かない

    パールのプログラムを作成して拡張子「.pl」で保存するとアイコンがパールのマークになりますよね。 プログラムファイルにデータファイルをドラッグすると、プログラムファイル(拡張子.pl)のアイコンが白黒反転して、目的の加工データをファイルとして出力するプログラムがるのですが、プログラムを作成したパソコンともう一台しか動作しません。他のパソコンでは、プログラムファイルにデータファイルをドラッグしても、プログラムファイル(拡張子.pl)のアイコンが白黒反転せず、パールプログラムが動作しません。 どこの設定をどのように変更すればいいのでしょうか。(プログラムファイルのアイコンを白黒反転させるにはどうしたらいいのでしょうか。) コマンドプロンプトでパスが通っているか確認をしたのですが、どのパソコンもパスは通っています。 プログラムの動作するパソコンの「システム環境変数のpathとPATHEXT」をプログラムの動作しないパソコンにコピーペーストしてもNGでした。 ※perl.exeが入っているディレクトリは同じにしています。プログラムファイとデータファイルをperlフォルダに入れても駄目でした。  OSは、Windows XPです。

  • perlでプログラムを作成したいんですが

    Windows上でperlを起動させるためにActive perl 5.10をmsi形式でダウンロードした後に特に手を加えることなくインストールし、コマンドプロンプトで、perl -vでバージョン情報などの確認もすることができたんですが、プログラムを作成するに当り、次の作業として何をしたらいいのかがわかりません。 教えてください。 宜しくお願いします。

    • ベストアンサー
    • Perl
  • perlでパスが通らない?

    環境はwindowsXPです。 パスがうまく通っていないようです。perl.exeが入っているファイルへのパスは正常に働いているのに、自分で作ったファイルを置いているC:\documents and settings\user\my document\perlというファイルへのパスがうまくはたらきません(Can't open perl script "test.pl": No such file or directoryと表示されます) コマンドプロンプトで「path」を使ってみても上記のフォルダはちゃんとPathに記述されています(;も入っています)。 何がいけないのでしょうか?

  • perlによる外部プログラムの実行

    perlにてCGIを作成しています。 ブラウザでCGIにアクセスしたとき、gpgというコマンドプロンプトの プログラムを実行したいと考えており以下のようなプログラムを作成しました。 test.batを単体で実行したときにはうまく動作するのですが、CGIを介して 実行するとうまくいきません。 CGIのプログラム (WriteCmd.cgi) **********************************  #!c:/Perl/bin/perl  print "Content-type: text/html\n\n";  print "test.batの実行\n<br>";  system("test.bat");  exit; ********************************** test.bat **********************************  gpg --batch --gen-key sample.txt ********************************** またtest.batの内容を **********************************  mkdir test ********************************** としてみるとディレクトリがちゃんと作成できるので WebサーバやPerlのパスの問題ではないと考えております。 よい解決方法がありましたら教えていただけると助かります。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • PERLとシェルについて

    コマンドプロンプトで入力されたPERLコマンドはシェルのプログラムによってカーネルに引き渡されてカーネルがPERLのプログラムにそのコマンドを実行させて、その結果をカーネル→シェルへと引き渡されてコマンドプロンプトに表示されるのでしょうか?

  • VBAでperlのプログラムを使う

    EXCELのVBAでマクロをくみ、perlのプログラムを起動することは可能でしょうか? またperlのプログラム内容が起動パスのところにあるファイル名を取得するプログラムなのですが、 これでEXCELのマクロを実行したパスにあるファイル名を取得することはできるのでしょうか?

    • ベストアンサー
    • Perl
  • perl が 実行できない

    perl 初心者です。 apache を起動させ(起動画面は表示)、perl のファイルを IE で表示させようとして、print文を実行しても、print文がそのまま表示されるだけになっています。 perl のパスは、#! d:/perl/bin/perl です。 (コマンドラインから実行すると実行できるので、インストールは正常です。) (XP以前だったと思いますが、そのときは IEで、長文のプログラムが起動できていましたが。)

  • perlとcygwinをインストールしてwindowsにPathを設定

    perlとcygwinをインストールしてwindowsにPathを設定しようとしましたが、 ユーザーの環境変数を C:\cygwin\bin\; C:\xampp\perl\bin\; のように設定しましたが、コマンドプロンプトからは実行できませんでした。 システムの環境変数に追加しようとしましたが、 Pathがいっぱいで追加できませんでした。 Pathがいっぱいの場合、どのように追加したらいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • 「ファイル名を指定して実行」で見に行くディレクトリとautoexec.bat

    Windows98SEです。 スタート→ファイル名を指定して実行 で、例えば、notepadと入力すると、メモ帳が立ちあがりますよね。 ディレクトリを指定しなくても実行できるということは、見にいくディレクトリの設定がどこかでされているのだと思いますが、どこでされているのでしょうか。 過去の質問と回答(下記)によると、 「コマンドプロンプトでpathと入力したとき表示されるのが、コマンドプロンプトでカレントディレクトリを移動しなくても見に行くフォルダ」 なのだそうです。 そしてそれは、c:\Autoexec.batの中の PATH=......... で設定されているのだそうです。 私が思うのは、「ファイル名を指定して実行」のときもそれがきいているんじゃないかなあ、ということです。 私のPCでは、コマンドプロンプトでpathと入力すると、 PATH=C:\WINDOWS;C:\WINDOWS\COMMAND と表示されます。 C:\WINDOWSにはnotepadがあります。それはそれでいいのです。 でも、よくわからないのは、私のPCの c:\Autoexec.bat には、 PATH=.... というのがないのです。そのファイルには、 loadhigh C:\WINDOWS\COMMAND\nlsfunc.exe C:\WINDOWS\country.sys と書いてあります。(これですべて) これでいいのでしょうか。 それとも、「ファイル名を指定して実行」の場合は、 c:\Autoexec.bat は関係ないのでしょうか。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=6175

  • 他のプログラムの呼び方について

    GUIのプログラムと(Gui.exe)、計算をするプログラム(Calc.exe)がありまして、 GUIのプログラムからパラメータを入力し、そのパラメータにしたがって計算をするんですが、Gui.exeからCalc.exeを呼ぶにはどのようにすればいいんでしょうか? 2つのプログラムを同じディレクトリにおいて、system("Calc.exe hoge1 hoge2")のようにすればいいのかな、思ったのですが、どうもだめなようです。Calc.exeのパスを指定すればいいようなのですが、どのように指定すればいいかわかりません。 また、今は2つのexeファイルがあるのですが、これを一つのexeファイルにまとめるようなことって出来るのでしょうか? 開発環境はVC++6.0,Windows XPです。

専門家に質問してみよう