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ランキング
-
Perl の外部モジュールの利用方法
-
ファイルアイコンの左下に緑の□...
-
perlのプログラミング 部分入れ...
-
ペプシコーラとコカ・コーラとD...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
-
perlについての質問
-
Blenderについて
-
perl このテキストファイルを簡...
-
Perlでファイルの末尾から指定...
-
秀丸での一括変換について
-
英数文字列のうちの数値を4桁に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perlからのexcel読み込み
-
readdir におけるフルパスでの...
-
無料配布の郵便番号自動入力cgi...
-
エラーログ「\\x8ew\\x92\\xe8...
-
perl system関数 引数 フォルダ
-
Perlファイルテスト演算子が正...
-
unlink 、renameが使えない理由
-
perl上からfindを使い検索した...
-
コマンドプロンプトからperlを...
-
バッチファイルの作り方(CSV→...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
-
DOSコマンドで、標準出力を出力...
-
ExcelをCSV書き出す場合のシー...
-
openした後、closeしないでプロ...
-
close()で例外が投げられる理由
-
batファイルでrenameができませ...
-
VBAでCSVファイルを途中行まで...
-
window.open でのファイル指定方法
-
VBAで巨大なファイルの途中から...
おすすめ情報