Perl:ファイルD&Dで起動
2014-07-07 : 
PCクリニック
(Python に限らないと思っていたが・・・)3ヶ月前(2014-04-29)の記事:
「ファイルD&DでAP起動」
そして、
先月(2014-06-14)の記事:
「ファイルD&DでAP起動(改)」
で、
(処理対象)ファイルのアイコンを、
Pythonプログラム(のアイコン)に、
ドラッグ&ドロップして、
処理を行わせる。
ことが出来た。
ここにきて、(未だゲンエキの)
「Perl」でも、やってみたくなった。
Python での最終形:
・・・・・
前回の
「ファイルD&DでAP起動」
の改訂版。
こんな、(例えば)「test.py」を作る。
import os
import sys
print sys.argv[1]
os.chdir( sys.path[0] )
print os.getcwd()
_ = raw_input()
この
test.py アイコンに、
なにがしかのファイルを「ドラッグ&ドロップ」すると、
D&Dしたファイル名を(フルパス名で)表示し、
続けて、プログラムのカレント・ディレクトリを表示し、
キーボード入力待となる。
ことになりますね。
・・・・・
これに合わせて、
こんな、「test.pl」を作る。
$fname = $ARGV[0];
print $fname,"\n"; # D&Dしたファイル名
$a=<STDIN>
この
“test.pl”アイコンに、
なにがしかのファイルを「ドラッグ&ドロップ」すると、
D&Dしたファイル名を(フルパス名で)表示し、
キーボード入力待となる。
ことになりますネ。
やってみた。ン???
起動しない。
ドラッグ&ドロップしたアイコンがその場所に移っただけ???
これではダメ? の様です。
しかたが無いので、一つ前の方式に戻って、・・・
こんな、
@echo off
%~dp0\test.pl %1
2行だけの、「test.bat」を作り、
「test.pl」と同じ場所に置いた。
これだと、
test.bat アイコンに、
なにがしかのファイルを「ドラッグ&ドロップ」すると、
D&Dしたファイル名を(フルパス名で)表示し、
キーボード入力待となる。
ことになりますネ。
しか~し、
起動はするが、何も表示しない???
(キーボード入力待ちだが。)
理由/原因を調べてみると、
引数が渡っていない???
これもダメか?
気を取り直して、Web検索。
「I'm a Bomb!」さんの 2009-02-05 記事:
「perlスクリプトをドラッグ&ドロップで実行する」
処理対象ファイルをバッチファイルにドラッグ&ドロップすると、
そのファイルを引数にしてperlスクリプトが実行される。
・・・・・
があった。
そこでは、
こんなバッチファイルを作っていた。
rem "myscript.pl"を書き換えてご使用ください
echo off
cd /d %0\..
perl myscript.pl %1
pause
<紙>との違いは、“cd”しているコト?
いや、“perl”を指定していることも。
そこで、上記“test.bat”を書き替えてみた。
@echo off
cd /d %0\..
perl test.pl %1
今度は3行。
この“test.bat”アイコンに、
なにがしかのファイルを「ドラッグ&ドロップ」すると、
D&Dしたファイル名を(フルパス名で)表示し、
キーボード入力待となる。
ことになりました。
因みに、(当然の事でしょうが)
“カレント・ディレクトリ”は、当該場所に成っている。
これで、やっと完成。
本日はここまで。
再び、Python 学習に戻る?
見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒


140703
- 関連記事
-
- Python 関連:OpenOffice.org(OOo) (2014/07/13)
- Pre3d:JavaScript 3d rendering engine (2014/07/11)
- Python 学習:msvcrt.kbhit() (2014/07/10)
- Python 変数名:アンダーバー1文字 (2014/07/09)
- Perl:ファイルD&Dで起動 (2014/07/07)
- Python 学習:numpy.linalg.norm (2014/07/06)
- Python 学習:二分法で求根 (2014/07/05)
- Python 学習:math.hypot (2014/07/04)
- IFS:フラクタル次元の算出 (2014/07/03)
スポンサーサイト