![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
perlのsystem関数を使って、コマンドを実行したいのですが、
実行ファイルの引数にフォルダを指定すると、うまく動作しません。
以下のように書いています
system "実行ファイル フォルダ";
実行ファイルは .BATファイルで、
指定しているフォルダには複数のテキストファイルが入っています。
perlで書いたcgiファイルは実行ファイルと同じディレクトリにあります。
コマンドからではなく、手動でドラッグ&ドロップすると正常に動作します。
windous7でperlはActivePerlを使用しています。
引数にはフォルダを指定できないのでしょうか?
またフォルダを指定できない場合、解決策などはあるのでしょうか?
よろしくおねがいいたします。
No.2ベストアンサー
- 回答日時:
> しかしブラウザに
(略)
> が表示されてしまいます。
それは、バッチファイルが出力したものでしょう。
バッチファイルが出力したものも、CGIの出力に混ざってしまいます。
Perl側で対応する場合は、
system '… > nul'
としてください。
あるいは、バッチファイル側で、1行目に
@echo off
という行を追加してもいけるかと思います。
この回答への補足
system '… > nul' と記述したところ
無事邪魔な出力を消すことができました。
mtaka2様、回答ありがとうございました!
No.1
- 回答日時:
その対象となる「フォルダ」の実際の名前には、空白などは入っていませんか?
スペースはコマンドライン引数の区切り文字になるため、それをそのまま指定するとあるフォルダという一つの引数のはずが、分断された複数の引数と解釈されてしまいます。
そういう場合は、
system '実行ファイル "フォルダ"';
もしくは
system "実行ファイル \"フォルダ\"";
のように、ダブルクオートで括ってみてください。
(エクスプローラからドラッグドロップでフォルダやファイルなどを指定した場合なんかでは、引数には自動的にダブルクオートが付加されます)
この回答への補足
回答ありがとうございます。
system '実行ファイル フォルダ';のようにしたら動作しました!
しかしブラウザに
C:\VMwareProgram\Apache Software Foundation\Apache2.2\htdocs\lab\termmi>call localsetting.bat C:\VMwareProgram\Apache Software Foundation\Apache2.2\htdocs\lab\termmi>PATH=C:\usr\bin\; C:\VMwareProgram\Apache Software Foundation\Apache2.2\htdocs\lab\termmi>PATH=C:\VMwareProgram\Apache Software Foundation\Apache2.2\htdocs\lab\MeCab\bin\;C:\usr\bin\; C:\VMwareProgram\Apache Software
~以下似たようなものが数行~~~
が表示されてしまいます。
print文は print OUT $str; のみのはずなのですが、
system関数の使用なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/26 17:13
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
無料配布の郵便番号自動入力cgi...
-
初心者 Hello worldをしたい
-
VBAでCSVファイルの特定行を書...
-
Perlの変数に文字数制限(容量...
-
VBAでCSVファイルを途中行まで...
-
awkスクリプトでダブルクォーテ...
-
ExcelをCSV書き出す場合のシー...
-
Firefox で file:// で始まる U...
-
DOSコマンドで、標準出力を出力...
-
python renameについて
-
ファイル出力の改行コードをLFに
-
C言語で特定の行を抽出する方法...
-
[Perl]ファイル出力のエンコー...
-
htaccessで特定のディレクトリ...
-
巨大なテキストの最終行を取得...
-
drtファイルはどうしたら開...
-
sprintfについて
-
VB6.0でDB接続する際に切断時の...
-
chdirがうまくできない
-
Perlで特定行から特定行までを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラーログ「\\x8ew\\x92\\xe8...
-
LWPのインストール
-
unlink 、renameが使えない理由
-
readdir におけるフルパスでの...
-
perl system関数 引数 フォルダ
-
Perlファイルテスト演算子が正...
-
perl上からfindを使い検索した...
-
フルパスについてご質問します
-
初心者 Hello worldをしたい
-
perlからのexcel読み込み
-
AuthUserFile用に登録するためには
-
Template-Toolkitのテンプレー...
-
PerlとUnixの関係
-
配列を使ってファイル名のリネーム
-
PG全くの初心者が、C言語での作...
-
perlのローカルプログラムでデ...
-
perlが突然動かなくなりました
-
ファイル操作について
-
VBAでCSVファイルを途中行まで...
-
VBAで巨大なファイルの途中から...
おすすめ情報