Indexへ
(15558)//【15549】→(15562)
------------------------
【タイトル】バッチファイルに書く powershell 外部変形 について
【記事番号】 15549 (*)
【 日時 】09/07/20 18:47
【 発言者 】Kazuo Miyake qqza3hq89@aioros.ocn.ne.jp
【 リンク 】http://www17.oc.ne.jp/~lite/



 powershell は Windows の 新しいシェル
ということですが、いまのところ 処理速度
が遅かったり、古い機種では 利用できなか
ったりで、実用性には疑問が残ります。

 それでも powershell も バッチファイル
にべた書きすることができるようなので、
報告します。(まちがいを恐れないでいえば
powershell -x のようなものです。)

 以下は参考資料です。
・PowerShellスクリプトをバッチファイル化する
 PS2CMD.CMD V1.01 (C) 吉岡さん 2007-09-04
 http://www.vector.co.jp/soft/winnt/util/se436989.html?site=n

 more コマンドを利用して powershell を
起動する 曲芸のようなやり方ですが、動き
ます。

 線を引く例題です。


:線を引く
@echo off
REM #jw
REM #1- 線の始点を指示してください。
REM #2 線の終点を指示してください。
REM #e
more +8 %~f0 | powershell -command -
goto:eof
# ここから
(get-content jwc_temp.txt) | foreach {
 switch -regex -case ($_)
 {
  '^hp1-\s+(\S+)\s+(\S+)' { $p1=$matches[1,2] }
  '^hp2 \s+(\S+)\s+(\S+)' { $p2=$matches[1,2]
   "$p1 $p2"
  }
 }
} | set-content jwc_temp.txt
exit #ここまで

:exit のあとには 必ず空白行を置いてください


 more +8 %~f0 で %~f0ファイルの 8行目
以降が表示されます。そこに スクリプトを
書いておいて | powershell -command - で
実行させる、手の込んだやり方です。
 ファイルの先頭 :線を引く は 0行目 と
なります。

 # は powershell のコメント行です。

 パワーシェルは jwc_temp.txt を 読み込
みながら jwc_temp.txt に 書き込むような
作業ができるようです。とても強力です。

 参考までに
 (gc jwc_temp.txt) | foreach { 〜 } は
 ruby なら
 open("jwc_temp.txt").each { |$_| 〜 }
 や
 $stdin=open("jwc_temp.txt")
 while gets 〜 end
 に相当します。

 switch -regex ($_) { 〜 } は
 ruby なら
 case $_; when 〜; end に相当します。

 "$p1 $p2" は パワーシェル特有の出力文
のスタイルで
 write ([string]::join(' ',$p1+$p2))
とも書けます。
 ruby なら
 puts ($p1+$p2).join(" ") です。

 | set-content jwc_temp.txt は パワー
シェル特有のファイル出力で ruby にはあ
りません。それでも
 $stdout=open("jwc_temp.txt","w") と
すれば似たような処理はできますが やは
り パワーシェルのファイル処理は一味違
います。


 さて、おそらく
 このやり方は曲芸なので 動作に不具合が
でることが、あるかもしれません。 いまの
ところ awk や ruby よりも powershell が
扱いやすいとは思えませんが 扱いにくくも
なさそうです。


 皆様方のご健康とご活躍をお祈り申し上
げます。


       記録 2009.07.20 三宅


Indexへ
(15549)←【15562】→(15564)
------------------------
【タイトル】Re(1):バッチファイルに書く powershell 外部変形 について
【記事番号】 15562 (15549)
【 日時 】09/07/23 20:37
【 発言者 】mirror

▼Kazuo Miyakeさん:
今晩は
少し論点が違うので恐縮なのですが、前から気になっているので

jwwのクリップボードデータを、jwc_temp.txtやztemp.txtの形式で出力して
ブロック図形の内部要素もアクセス可能にするとかの、需要はありそうでしょうか?
(ライブラリ形式で、shellの枷から抜けて自由度を上げられるようにし
オンメモリーでデータ渡しのほうが良いのかもしれないですが)

私自身は、jwwの外部変形や座標ファイルでの
ブロック図形の内部要素へのアクセス実装を、期待して待っているのですが・・・


Indexへ
(15562)←【15564】→(15565)
------------------------
【タイトル】Re(2):バッチファイルに書く powershell 外部変形 について
【記事番号】 15564 (15562)
【 日時 】09/07/25 14:00
【 発言者 】Kazuo Miyake qqza3hq89@aioros.ocn.ne.jp

▼mirrorさん:
>▼Kazuo Miyakeさん:
>今晩は
>少し論点が違うので恐縮なのですが、前から気になっているので
>
>jwwのクリップボードデータを、jwc_temp.txtやztemp.txtの形式で出力して
>ブロック図形の内部要素もアクセス可能にするとかの、需要はありそうでしょうか?
>(ライブラリ形式で、shellの枷から抜けて自由度を上げられるようにし
>オンメモリーでデータ渡しのほうが良いのかもしれないですが)
>
>私自身は、jwwの外部変形や座標ファイルでの
>ブロック図形の内部要素へのアクセス実装を、期待して待っているのですが・・・


ブロック図形の外部変形については、あまり考えたことがありませんでした。

私なりに、ブロック図形関連の外部変形をすこし研究してみました。
外部変形のブロックデータは

 BL %lg %lg "ブロック名
 #

座標リストとブロック名の単純な組み合わせですから
これだけでは、なかなか使いずらいような気がします。

それでも、ブロック名を利用した実用的な外部変形も
いくつか公開されているようです。

mirror さんのおっしゃる 内部要素へのアクセスの実
装で

 BL %lg %lg "円
 ci 0 0 100
 #

のようなことが実現できれば、便利だと思います。

単なる思いつきなのですが 読み取りのみ有効な
ブロック文字は、期待できないものでしょうか

 cBL x y lx ly "ブロック名

のようにして 外部変形でコピーや回転ができれば
便利かもしれません。意味がないかもしれません。

ともかく、外部変形でも
ブロック編集からではなく、直接ブロック図形を
扱えるようになれば、便利であることはいうまでも
ないことだと思います。

私自身は、jwwデータを直接解析するような能力が
ないため、クリップボードの扱いについてはわから
ないのが事実ですが、クリップボードのデータを
jwc_temp.txt や ztemp.txt に変換できれば、便利
になることは間違いないと思います。費用対効果に
ついてはわかりません。

とりとめのない話になりましたこと、おゆるしください。


Indexへ
(15564)←【15565】→(15581)
------------------------
【タイトル】Re(3):バッチファイルに書く powershell 外部変形 について
【記事番号】 15565 (15564)
【 日時 】09/07/25 20:15
【 発言者 】mirror

▼Kazuo Miyakeさん:
お返事ありがとうございます

私自身は、直接クリップボードデータを別のプロセスで処理して
jwwにクリップボードから書き戻しているので、中間ファイルは使わないのですが
例えば、中間ファイルに書き出すとした場合、書出・読込についての定義情報が
現在のjwwには無いので、独自なものにならざるを得ません
独自に定義を行って、有用な多くの外部変形を編集してブロック図形に対応させても
今後jwwで実装された場合の事を考えると・・・躊躇しているというのが本音です

>>費用対効果・・・
(費用)は別にして、効果についてはあるだろうと思いますが
今までにも公開されていないし、あまり差し迫って必要なものでも無いのでしょう
・・・というように思い始めました

返信ありがとうございました


Indexへ
(15565)←【15581】//(15552)
------------------------
【タイトル】Re(1):バッチファイルに書く powershell 外部変形 について
【記事番号】 15581 (15549)
【 日時 】09/08/02 17:44
【 発言者 】Kazuo Miyake qqza3hq89@aioros.ocn.ne.jp
【 リンク 】http://www17.ocn.ne.jp/~lite/



 powershell 外部変形 の 簡単な例をいく
つか ホームページで紹介しています。
 興味のある方はどうぞ。
( 題名 : てなもんや 外部変形 )

 ホームページは
 http://www17.ocn.ne.jp/~lite/ です。


 more +n %~f0 | 〜 で バッチファイルに
プログラムを書く やり方は ruby でもでき
ます。

 awk でも
 more +n %~f0 > prog.awk
 〜
などとすれば バッチファイルにプログラム
を書くことができるので便利です。
(prog.awk を 作ったあとで実行する)


 皆様方のご健康とご活躍をお祈り申し上
げます。


       記録 2008.08.02 三宅