Indexへ
(13223)// 【12844】→(12846) ------------------------ 【タイトル】ファイル名を拾って *.vbs を作る方法
【記事番号】 12844 (*)
【 日時 】08/05/10 17:21
【 発言者 】sue sue@mail.jp
JW にはたいへんお世話になっております。
私は
Windows Script Host という
簡単なプロミラミング?を使って
たくさんのファイルをいっきに開く
使い方をしています。
苦肉の策ですが…(^^;
いつもの流れを書きます。
まず物件別にフォルダを作ります。
その中に必要図面を増やしていくやり方です。
基本設計のころはたいした枚数もないので
その都度必要図面を開くのも苦ではありませんが
そのうち実施設計になってきて
図面枚数が増えてくるとそれが結構な手間になります。
で、その都度、十枚〜数十枚を開くのがおっくうになってきたら
○○邸実施図面.vbs
なるものを用意します。
以下 vbs の中身です。
Set WS = CreateObject("WScript.Shell")
WS.Run "3104配置図.jww"
WScript.Sleep 2000
WS.Run "3107A平面図.jww"
WScript.Sleep 2000
WS.Run "3108B立面図.jww"
WScript.Sleep 2000
・
・
・
こんな感じで
フォルダの中にある図面ファイルを確認しながら
手で一行一行増やしていきます。
しかもプロジェクト進行途中で図面名が変わったり
図面が増えたりなどもあるので
その度ちょこちょこと vbs の中身を書き換える必要ありです。
そこで相談なんですが
自動でフォルダの中にあるファイル名を拾って
各行の必要箇所に入れて
○○邸実施図面.vbs
が出来る方法はないでしょうか?
どうそよろしくお願いします。
vbs 以外の便利な方法があれば
それはそれで教えて欲しいですが…(^^;
Indexへ
(12844)← 【12846】→(12847) ------------------------ 【タイトル】Re(1):ファイル名を拾って *.vbs を作る方法
【記事番号】 12846 (12844 )
【 日時 】08/05/10 17:52
【 発言者 】joker
【 リンク 】http://jwwfaq.undo.jp/
▼sueさん:
>Windows Script Host という
>簡単なプロミラミング?を使って
というのは私は経験無いので知りませんが、
ファイル名を取得したいんであれば、
そのWSHで、FileSystemObjectのFileオブジェクトで可能な
ような気はしますが、どうなんでしょう?
私は Delphiという言語を使いますが、その場合には
ファイルを検索する関数とかを利用してます。
プログラムを作るのが面倒であれば、
DOSプロンプト(コマンドプロンプト)から、
「DIR /B *.JWW > (ファイル名)」
とかやってファイル一覧をテキストファイルにして、
エディタの置換機能を使って文字を足す、
とかするかもしれません。
Indexへ
(12846)← 【12847】→(12848) ------------------------ 【タイトル】Re(1):ファイル名を拾って *.vbs を作る方法
【記事番号】 12847 (12844 )
【 日時 】08/05/10 19:56
【 発言者 】sugi
sugiです。皆さん、こんにちは。
sue さん wrote:
> そこで相談なんですが
> 自動でフォルダの中にあるファイル名を拾って
> 各行の必要箇所に入れて
> ○○邸実施図面.vbs
> が出来る方法はないでしょうか?
外部変形などで ruby が使える環境が整っているなら、こんなスク
リプトはどうでしょう?
まず、フォルダ内の jww ファイルを調べて vbs ファイルを作るス
クリプトです。
=== test1.rb (ここから) ===
#! ruby
v=open("hoge.vbs","w")
v.puts %|Set WS = CreateObject("WScript.Shell")|
Dir.glob("*.jww"){|f|
v.puts %|WS.Run "#{f}"|
v.puts %|WScript.Sleep 2000\n\n|}
v.close
=== test1.rb (ここまで) ===
こちらは直接フォルダ内の jww ファイルを開きます。
=== test2.rb (ここから) ===
#! ruby
Dir.glob("*.jww"){|f| system "start "+f;sleep 0.5}
=== test2.rb (ここまで) ===
どちらも rbファイルが ruby に関連付けされていれば、ファイル
のダブルクリックで動作するはずです。
--
sugi
Indexへ
(12847)← 【12848】→(12849) ------------------------ 【タイトル】Re(2):ファイル名を拾って *.vbs を作る方法
【記事番号】 12848 (12847 )
【 日時 】08/05/10 21:30
【 発言者 】R.N qqz74t89@bridge.ocn.ne.jp
▼sugiさん:
こんばんは
横から失礼します。
先日はお世話になりました。
自宅に早速UPして頂いたのですね。
ありがとうございます。
対応の早さに頭の下がる思いです。
今回のスクリプト、確認させて頂きました。
フォルダー内の***.jwwを全て選択し、全て起動するようにされていると思いますが
起動しなくてよいもの、又は、メモリーオーバー等問題があると思いますが。
リストを一旦表示して、選択起動できるようには出来ないものでしょうか?。
そうすると、各現場別のショートカットで簡単に起動できるので便利かと思いました。
要望ばかりですみません。
Indexへ
(12848)← 【12849】→(12850) ------------------------ 【タイトル】選択起動
【記事番号】 12849 (12848 )
【 日時 】08/05/10 21:52
【 発言者 】卯之介
>リストを一旦表示して、選択起動できるようには出来ないものでしょうか?
どうせその段階で手で選択するなら、エクスプローラで複数選択してEnterで起動すれば良いんじゃないでしょうか。
組み合わせが煩雑な場合は、当面開かないファイルは別フォルダにわけておくとかファイル名で並べ替えた時に固まるように冒頭にマークをつけておくとか。
(XPでは、ショートカットを別フォルダに入れて複数起動しようとしたら出来ませんでしたが)
Indexへ
(12849)← 【12850】→(12851) ------------------------ 【タイトル】Re(1):選択起動
【記事番号】 12850 (12849 )
【 日時 】08/05/10 23:36
【 発言者 】R.N qqz74t89@bridge.ocn.ne.jp
▼卯之介さん:
>>リストを一旦表示して、選択起動できるようには出来ないものでしょうか?
>
>どうせその段階で手で選択するなら、エクスプローラで複数選択してEnterで起動すれば良いんじゃないでしょうか。
>
>組み合わせが煩雑な場合は、当面開かないファイルは別フォルダにわけておくとかファイル名で並べ替えた時に固まるように冒頭にマークをつけておくとか。
>(XPでは、ショートカットを別フォルダに入れて複数起動しようとしたら出来ませんでしたが)
はじめまして
ご意見ありがとうございます。
折角sugiさんに興味を持って頂き、作って頂いたので、どうかなと思ったものですから。
Indexへ
(12850)← 【12851】→(12852) ------------------------ 【タイトル】Re(3):ファイル名を拾って *.vbs を作る方法
【記事番号】 12851 (12848 )
【 日時 】08/05/10 23:46
【 発言者 】joker
【 リンク 】http://jwwfaq.undo.jp/
▼R.Nさん:
>リストを一旦表示して、選択起動できるようには出来ないものでしょうか?。
>そうすると、各現場別のショートカットで簡単に起動できるので便利かと思いました。
当方のサイトに専用のツール「JWsel」というのを置いてあります。
良かったらどうぞ。
http://jwwfaq.undo.jp/down/tools.html
Indexへ
(12851)← 【12852】→(12853) ------------------------ 【タイトル】Re(4):ファイル名を拾って *.vbs を作る方法
【記事番号】 12852 (12851 )
【 日時 】08/05/11 00:03
【 発言者 】R.N qqz74t89@bridge.ocn.ne.jp
>当方のサイトに専用のツール「JWsel」というのを置いてあります。
>良かったらどうぞ。
>http://jwwfaq.undo.jp/down/tools.html
▼jokerさん:
こんばんは
お世話になります。
早速、覗かしてもらいます。
ありがとうございます。
Indexへ
(12852)← 【12853】→(12854) ------------------------ 【タイトル】Re(3):ファイル名を拾って *.vbs を作る方法
【記事番号】 12853 (12848 )
【 日時 】08/05/11 00:16
【 発言者 】sugi
sugiです。みなさん、こんにちは。
R.N さん wrote:
> リストを一旦表示して、選択起動できるようには出来ないもので
> しょうか?。
あぁ、納期前の仕事を抱えて忙しいのに、と思いつつ現実逃避。
^^;
ActiveScriptRuby を用いています。
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/
One-Click InstallerからActiveScriptRubyへ乗り換え方法に
ついては、こちらを参考にして下さい。
http://tobysoft.net/wiki
やっつけ仕事なので、すでに起動しているファイルも開いてしまう
のですが、大目にみてください。
全角空白は半角に修正して下さい。
=== jw_open.bat (ここから) ===
ruby -Ks -x %0
REM pause
exit
#! ruby
$stderr=File.open("error.log","w")
jw=Dir.glob("*.jww")
hta=File.open("tmp.hta","w")
hta.print %Q!
Jww ファイルを開く
onclick="open_jww" language="RubyScript">
!
jw.each_with_index{|j,i|
hta.puts %| value="#{j}" checked> #{j} |}
hta.puts "\n"
hta.close
system("start tmp.hta")
=== jw_open.bat (ここまで) ===
--
sugi
Indexへ
(12853)← 【12854】→(12857) ------------------------ 【タイトル】Re(4):ファイル名を拾って *.vbs を作る方法
【記事番号】 12854 (12853 )
【 日時 】08/05/11 01:41
【 発言者 】R.N qqz74t89@bridge.ocn.ne.jp
>> リストを一旦表示して、選択起動できるようには出来ないもので
>> しょうか?。
>
>あぁ、納期前の仕事を抱えて忙しいのに、と思いつつ現実逃避。
>^^;
>
▼sugiさん:
こんばんは
早速、ありがとうございます。
無理なお願いをしているようですね。
勝手な私の考えで意見して、対して返信して頂いてることは、
今は余裕があるのかな〜と思っていたものですから・・・・ごめんなさい。
現実逃避・・・・?。
私の意見などすぐに対応して貰えるなどと毛頭思っていません。
使命感的に思わず、マイペースでお願いします。
私も色々あって、現在療養中の身です。
レスが強要的に受け止められたとしたらお詫びいたします。
すみませんでした。
Indexへ
(12854)← 【12857】→(12858) ------------------------ 【タイトル】Re(5):ファイル名を拾って *.vbs を作る方法
【記事番号】 12857 (12854 )
【 日時 】08/05/11 08:16
【 発言者 】sugi
sugiです。みなさん、こんにちは。
R.Nさん wrote:
> 無理なお願いをしているようですね。
> 勝手な私の考えで意見して、対して返信して頂いてることは、
> 今は余裕があるのかな〜と思っていたものですから・・・・ごめんなさい。
好きでやってることなんで、あまり気にしないで下さい。^^;
納期前に仕事を進めなきゃと思いながら全然関係ないスクリプトを
書いてるのは、試験前に勉強しなきゃと思いながらテレビゲームに
興じるのと同じようなレベルの話です。
レスを読みながら、こんな方法もありかなと思いついてスクリプト
を組んでました。ちなみに ActiveScriptRuby をちゃんとインストー
ルするとこんなのが現れるはずです。
http://homepage2.nifty.com/igus/starthp/jw_open.html
--
sugi
Indexへ
(12857)← 【12858】→(13124) ------------------------ 【タイトル】Re(6):ファイル名を拾って *.vbs を作る方法
【記事番号】 12858 (12857 )
【 日時 】08/05/11 10:28
【 発言者 】R.N qqz74t89@bridge.ocn.ne.jp
>
>レスを読みながら、こんな方法もありかなと思いついてスクリプト
>を組んでました。ちなみに ActiveScriptRuby をちゃんとインストー
>ルするとこんなのが現れるはずです。
>
>http://homepage2.nifty.com/igus/starthp/jw_open.html
>
▼sugiさん:
おはようございます。
使用させて頂きました。
快適で〜す!!
最初、窓表示から先へ進まなくておかしいな〜と思ったのですが、
この前、ActiveScriptRubyをアンインストしたのを忘れてました。
各現場ホルダーの中にこのスクリプトを置き、ショートカットを表に出しておけば
ファイルの追記もしなくてよいし、また、開いたままにしておけば
追加して開くこともでき、便利と思います。
欲を言わして頂ければ
ALL checkとNON checkボタンがあればな〜と思いました。
ありがとうございました。
Indexへ
(12858)← 【13124】→(12871) ------------------------ 【タイトル】Re(6):ファイル名を拾って *.vbs を作る方法
【記事番号】 13124 (12857 )
【 日時 】08/06/06 14:37
【 発言者 】R.N qqz74t89@bridge.ocn.ne.jp
▼sugiさん:
こんにちは
レスが上がってきたので思い付き、書きました。
スクリプトのcheckedを削除し、使用させて貰ってます。
すみません。感謝です。
Indexへ
(13124)← 【12871】→(12883) ------------------------ 【タイトル】Re2: ファイル名を拾って *.vbs を作る方法
【記事番号】 12871 (12847 )
【 日時 】08/05/12 20:59
【 発言者 】sue sue@email.com
sugiさん、こんにちは。
さっそく作っていただいた ruby を試してみました。
うまく動作は致しました。
が、
開く図面の順番
もしくは生成される vbs の中身のファイルの順番が
ファイルの並び順になってくれないのが辛いです。
理想は
名前順などのファイルのソートとは関係なく
こちらで任意の順番をつけられることですが…(^^;
そこまで贅沢はいいませんが
上から順に開くように出来ませんでしょうか?
私が肝心なところを説明出来ていなかったため
お手数をかけて申し訳ありませんです。
Indexへ
(12871)← 【12883】→(12890) ------------------------ 【タイトル】Re(1):Re2: ファイル名を拾って *.vbs を作る方法
【記事番号】 12883 (12871 )
【 日時 】08/05/13 01:14
【 発言者 】sugi
sugiです。みなさん、こんにちは。
sueさん wrote:
> 開く図面の順番
> もしくは生成される vbs の中身のファイルの順番が
> ファイルの並び順になってくれないのが辛いです。
現状では名前順に開いていくはずです。ファイルサイズ順とか作成
日時順とかソートの順番が決まっていれば良いのですが、任意の順
番でとなると卯之介さんの言われるようにリストを作っておいてエ
ディタで編集という方法が良いと思います。
以下のスクリプトは「jw_list.bat」というファイルを吐き出すの
で、起動したい順に並び換えてからダブルクリックして下さい。
=== test3.rb (ここから) ===
#! ruby
open("jw_list.bat","w"){|f|
jw=Dir.glob("*.jww"){|j| f.puts "start "+j+"\nsleep 0.5"}}
=== test3.rb (ここまで) ===
--
sugi
Indexへ
(12883)← 【12890】→(12892) ------------------------ 【タイトル】Re2: Re2: ファイル名を拾って *.vbs を作る方法
【記事番号】 12890 (12883 )
【 日時 】08/05/13 11:52
【 発言者 】sue sue@email.com
sugiさん、みなさん、こんにちは。
sueです。度々すみませんです。
hoge.vbs が名前順にならない原因は何か、
お分かりになりますでしょうか?
ファイル名は、図面名の頭にナンバーをつけて
こちらの意図した順番(名前順)になるように
管理しておりまます。
(開く順番は名前順で十分であります。
「任意の順番」の件は贅沢すぎました、お忘れください)
以下、フォルダの内容を記します。
3102A仕上表1.jww
3102B仕上表2.jww
3104配置図.jww
3107A1階平面図.jww
3107B2階平面図.jww
3107C屋根伏図.jww
3108A立面図(1).jww
3108B立面図(2).jww
3109A断面図(1).jww
3109B断面図(2).jww
3110矩計図.jww
3116階段詳細図.jww
3117トイレ平面詳細図.jww
3118A展開図(1).jww
3118B展開図(2).jww
3118C展開図(3).jww
3118D展開図(4).jww
3118E展開図(5).jww
3118F展開図(6).jww
3118G展開図(7).jww
3118H展開図(8).jww
3118I展開図(9).jww
3118J展開図(10).jww
3118K展開図(11).jww
3119A1階建具キープラン.jww
3119B2階建具キープラン.jww
3119C建具表(1).jww
3119D建具表(2).jww
3119E建具表(3).jww
3119F建具表(4).jww
3120A1階天井伏図.jww
3120B2階天井伏図.jww
以下 test1.rb で生成された hoge.vbs の内容です。
Set WS = CreateObject("WScript.Shell")
WS.Run "3104配置図.jww"
WScript.Sleep 2000
WS.Run "3107C屋根伏図.jww"
WScript.Sleep 2000
WS.Run "3116階段詳細図.jww"
WScript.Sleep 2000
WS.Run "3110矩計図.jww"
WScript.Sleep 2000
WS.Run "3102A仕上表1.jww"
WScript.Sleep 2000
WS.Run "3102B仕上表2.jww"
WScript.Sleep 2000
WS.Run "3117トイレ平面詳細図.jww"
WScript.Sleep 2000
WS.Run "3119A1階建具キープラン.jww"
WScript.Sleep 2000
WS.Run "3120A1階天井伏図.jww"
WScript.Sleep 2000
WS.Run "3119B2階建具キープラン.jww"
WScript.Sleep 2000
WS.Run "3120B2階天井伏図.jww"
WScript.Sleep 2000
WS.Run "3119C建具表(1).jww"
WScript.Sleep 2000
WS.Run "3119D建具表(2).jww"
WScript.Sleep 2000
WS.Run "3119E建具表(3).jww"
WScript.Sleep 2000
WS.Run "3119F建具表(4).jww"
WScript.Sleep 2000
WS.Run "3109A断面図(1).jww"
WScript.Sleep 2000
WS.Run "3109B断面図(2).jww"
WScript.Sleep 2000
WS.Run "3118J展開図(10).jww"
WScript.Sleep 2000
WS.Run "3118K展開図(11).jww"
WScript.Sleep 2000
WS.Run "3118A展開図(1).jww"
WScript.Sleep 2000
WS.Run "3118B展開図(2).jww"
WScript.Sleep 2000
WS.Run "3118C展開図(3).jww"
WScript.Sleep 2000
WS.Run "3118D展開図(4).jww"
WScript.Sleep 2000
WS.Run "3118E展開図(5).jww"
WScript.Sleep 2000
WS.Run "3118F展開図(6).jww"
WScript.Sleep 2000
WS.Run "3118G展開図(7).jww"
WScript.Sleep 2000
WS.Run "3118H展開図(8).jww"
WScript.Sleep 2000
WS.Run "3118I展開図(9).jww"
WScript.Sleep 2000
WS.Run "3108B立面図(2).jww"
WScript.Sleep 2000
WS.Run "3108A立面図(1).jww"
WScript.Sleep 2000
WS.Run "3107A1階平面図.jww"
WScript.Sleep 2000
WS.Run "3107B2階平面図.jww"
WScript.Sleep 2000
以下 test3.rb で生成された jw_list.bat の内容です。
start 3104配置図.jww
sleep 0.5
start 3107C屋根伏図.jww
sleep 0.5
start 3116階段詳細図.jww
sleep 0.5
start 3110矩計図.jww
sleep 0.5
start 3102A仕上表1.jww
sleep 0.5
start 3102B仕上表2.jww
sleep 0.5
start 3117トイレ平面詳細図.jww
sleep 0.5
start 3119A1階建具キープラン.jww
sleep 0.5
start 3120A1階天井伏図.jww
sleep 0.5
start 3119B2階建具キープラン.jww
sleep 0.5
start 3120B2階天井伏図.jww
sleep 0.5
start 3119C建具表(1).jww
sleep 0.5
start 3119D建具表(2).jww
sleep 0.5
start 3119E建具表(3).jww
sleep 0.5
start 3119F建具表(4).jww
sleep 0.5
start 3109A断面図(1).jww
sleep 0.5
start 3109B断面図(2).jww
sleep 0.5
start 3118J展開図(10).jww
sleep 0.5
start 3118K展開図(11).jww
sleep 0.5
start 3118A展開図(1).jww
sleep 0.5
start 3118B展開図(2).jww
sleep 0.5
start 3118C展開図(3).jww
sleep 0.5
start 3118D展開図(4).jww
sleep 0.5
start 3118E展開図(5).jww
sleep 0.5
start 3118F展開図(6).jww
sleep 0.5
start 3118G展開図(7).jww
sleep 0.5
start 3118H展開図(8).jww
sleep 0.5
start 3118I展開図(9).jww
sleep 0.5
start 3108B立面図(2).jww
sleep 0.5
start 3108A立面図(1).jww
sleep 0.5
start 3107A1階平面図.jww
sleep 0.5
start 3107B2階平面図.jww
sleep 0.5
それと、jw_list.bat を実行した状況報告をしておきます。
test3.rb で生成された jw_list.bat は
私のパソコンでは正常にファイルが開く確立は3割程度
の枚数でした。
ほとんどの図面で「このプログラムは応答していません」
のエラーが出て jww が立ち上がらなく
そのうち一枚の図面は「…デバッカ…が云々」とのメッセージ
が出て閉じることが出来ない状況です。
vbs は安定して図面を開いているので
また ruby や jgawk よりも動作させる環境整備をしなくていいので
そちらを使っていければ幸いかなと思っております。
sue
Indexへ
(12890)← 【12892】→(12913) ------------------------ 【タイトル】Re: ファイル名を拾って *.vbs を作る方法
【記事番号】 12892 (12890 )
【 日時 】08/05/13 13:53
【 発言者 】sugi
sugiです。sueさん、こんにちは。
sueさん wrote:
> hoge.vbs が名前順にならない原因は何か、
> お分かりになりますでしょうか?
>
> ファイル名は、図面名の頭にナンバーをつけて
> こちらの意図した順番(名前順)になるように
> 管理しておりまます。
あれ?うちの環境だとちゃんと名前順になってくれたようなんです
が、明示的にソートさせないと駄目なのかもしれません。
> test3.rb で生成された jw_list.bat は
> 私のパソコンでは正常にファイルが開く確立は3割程度
> の枚数でした。
バッチファイルだとあまりうまくないようですね。^^;
test1.rb と test2.rbのそれぞれの改造版ですが、これだとどうで
しょうか?
=== test1a.rb (ここから) ===
#! ruby
v=open("hoge.vbs","w")
v.puts %|Set WS = CreateObject("WScript.Shell")|
Dir.glob("*.jww").sort.map{|f|
v.puts %|WS.Run "#{f}"|
v.puts %|WScript.Sleep 2000\n\n|}
v.close
=== test1a.rb (ここまで) ===
=== test2a.rb (ここから) ===
#! ruby
require 'win32ole'
ws = WIN32OLE.new("WScript.Shell")
Dir.glob("*.jww").sort.map{|f| ws.run f;sleep 0.5}
=== test2a.rb (ここまで) ===
--
sugi
Indexへ
(12892)← 【12913】→(12855) ------------------------ 【タイトル】Re2: ファイル名を拾って *.vbs を作る方法
【記事番号】 12913 (12892 )
【 日時 】08/05/14 13:36
【 発言者 】sue sue@email.com
sugiさん、こんにちは。
改良版でうまくいきました!
ありがとうございました。
便利に使わせてもらおうと思います。
ruby というのは便利なものですね。
あらためて可能性を感じました。
こんど本屋に行ったとき、
「今開いているファイルを取得する命令文」が載っているやつを
ゲットしたいと思いました。
それが出来れば、
参照のみしている他物件(他フォルダ)の jww ファイルも
また次にやるとき
いっきに開くとこができて、まさに夢のような環境です(^^;
そんな都合のいい命令文があるか分かりませんが…。
さらには、
ruby の使える環境を
いつも持ち歩いているポータブルハードディスク(PHDD)内で
完結するようにしたいですね。
Jw_cad や JwClibos、JacCv、Pyxis、IrfanView などの
いつもよく使うソフトと原本データーを PHDD に入れて、
どこのパソコンで作業しても、さっきの続きをすぐに始められる
便利な体制にどっぷり浸かってしまっているので
このうちの一つのツールとして ruby を加えることができれば
いいかも!?と、ニンマリ想像してしまいました(^^;
ほんと私の場合、
PC本体に依存しない?ソフトには助けられております。
その代表であり、その体制づくりのきっかけである Jw_cad には
ほんとに感謝しており、またまわりでサポートしている方々には
たいへん頭の下がる思いでいっぱいです。
いろいろありがとうございました。
またなにかありましたらご相談させてくださいますよう
よろしくお願い申し上げます。
sue
Indexへ
(12913)← 【12855】→(12856) ------------------------ 【タイトル】Re(1):ファイル名を拾って *.vbs を作る方法
【記事番号】 12855 (12844 )
【 日時 】08/05/11 02:28
【 発言者 】coolyoppe
▼sueさん:こんにちは。
>自動でフォルダの中にあるファイル名を拾って
>各行の必要箇所に入れて
>○○邸実施図面.vbs
>が出来る方法はないでしょうか?
>
sugiさんの後であれですが・・・。(^^;)
vbsで作成してみましたので、よかったらお試し下さい。
フォルダを開いて図面ファイルを複数選択したら、
「Jww_Run_Make.vbs」ファイル上にドラッグアンドドロップすると
指定した場所に「Jww_Run.vbs」(名前も指定可能)が作成されます。
一度作成した後に、新しい図面ファイルを追加する時は、
別名でvbsを作成して元のvbsにコピペしたほうが早いかもしれません。
「'このファイル〜」から最後までを「Jww_Run_Make.vbs」
というファイル名(好きな名前でOK)で作成して下さい。
場所はどこでもかまいませんが、デスクトップやこのファイルの
ショートカットをクイック起動に登録しておくとドロップしやすいかと
思います。
'このファイル「Jww_Run_Make.vbs」上に複数選択した図面ファイルを
'ドラッグアンドドロップすると複数起動用のVBSスクリプトが作成される
'次の行 ↓ でVBSファイルを作成する場所を設定して下さい。
strVbsPath="c:\jww"
On Error Resume next
set WshShell = WScript.CreateObject("WScript.Shell")
Set objArgs = WScript.Arguments
Set objFS = CreateObject("Scripting.FileSystemObject")
'直接実行したときの注意メッセージと終了処理
if objArgs(0) = "" then
a = MsgBox("図面ファイルをドラッグアンドドロップして下さい" & vbCR _
& "(直接実行はできません)",48,"実行注意!")
WScript.Quit
end if
'JWW起動用「*.VBS」のファイル名の入力
strVbsFname = InputBox("JWW起動用VBSのファイル名入力?" & vbCR _
& "(省略すると「Jww_Run」になります)","ファイル名入力")
if strVbsFname = "" then
strVbsFname = "Jww_Run"
'a = MsgBox("ファイル名は「" & strVbsFname & ".vbs」で作成します。")
end if
'スクリプトの生成
strVbs = "Set WS = CreateObject(" & """WScript.Shell""" & ")" & vbCR
For i = 0 to objArgs.Count - 1
Set objFile = objFS.GetFile(objArgs(i))
strPname = objFile.ParentFolder
strFname = objFile.Name
strVbs = strVbs _
& "WS.Run" & " """ & strPname & "\" & strFname & """" & vbCR _
& "WScript.Sleep 2000" & vbCR
next
'vbsファイルの作成
Set objVbsFile = objFS.CreateTextFile(strVbsPath & "\" & strVbsFname & ".vbs",True)
objVbsFile.WriteLine(strVbs)
objVbsFile.Close
WScript.Quit
Indexへ
(12855)← 【12856】→(12874) ------------------------ 【タイトル】一部訂正
【記事番号】 12856 (12855 )
【 日時 】08/05/11 03:31
【 発言者 】coolyoppe
すみません。
WS.Run "パス名"
の場合、パス名(ファイル名も含む)に半角スペースが含まれると
実行できないないようです。
WS.Run """パス名"""
とする必要があるようです。
なので、前述のスクリプト生成部分を下記に置き換えて下さい。
(図面名やフォルダ名に半角スペースが含まれない場合は
前述のままで大丈夫です。)
'スクリプトの生成
strVbs = "Set WS = CreateObject(" & """WScript.Shell""" & ")" & vbCR
For i = 0 to objArgs.Count - 1
Set objFile = objFS.GetFile(objArgs(i))
strPname = objFile.ParentFolder
strFname = objFile.Name
strVbs = strVbs _
& "WS.Run" & " """"""" & strPname & "\" & strFname & """""""" & vbCR _
& "WScript.Sleep 2000" & vbCR
next
Indexへ
(12856)← 【12874】→(12875) ------------------------ 【タイトル】Re: 一部訂正
【記事番号】 12874 (12856 )
【 日時 】08/05/12 21:34
【 発言者 】sue sue@email.com
coolyoppeさん、こんにちは。
さっそくの Jww_Run_Make.vbs ありがとうございました。
試してみましたが、
sugiさんへのコメントにも書かせていただいたとおり
開く順番がこちらの意図どおりにならないのが辛いです。
クイック起動への登録も
あっちこっちのパソコンで作図作業をする私の環境ですと
登録すること自体が現実的には厳しそうです。
それと、、、
自分はドラックアンドドロップという操作に
慣れていないという悲しい現実に直面してしまいました(^^;
ファイル管理の操作がDOSの頃からほとんど進歩していない
お恥ずかしい状況です。
sue
Indexへ
(12874)← 【12875】→(12887) ------------------------ 【タイトル】jgawk版
【記事番号】 12875 (12874 )
【 日時 】08/05/12 21:53
【 発言者 】卯之介
1ファイルにまとまっていないのがちょっと嫌ですが、jgawkでやってみました。
======== launch.bat
jgawk -f launch.awk launch.txt
======== launch.awk
{
system("start "$0)
system("ping 1.0.0.0 -w 1000 -n 1")
}
======== launch.txt
Test1.jww
Test2.jww
Test3.jww
Test4.jww
Test5.jww
Test6.jww
Test7.jww
========
launch.txtは適当に編集してください。
dir /b *.jww > launch.txt
みたいに作ってから起動したい順に並べ替えたらよいかと。
ファイルリストは独立したテキストファイルのほうが扱いやすいかとは思いますが、vbsならランチャ部分が1ファイルにできるかも知れませんね。
Indexへ
(12875)← 【12887】→(12891) ------------------------ 【タイトル】1行jgawk版
【記事番号】 12887 (12875 )
【 日時 】08/05/13 08:44
【 発言者 】卯之介
======== launch.bat
jgawk '{system("start "$0);system("ping 1.0.0.0 -w 1000 -n 1")}' launch.txt
======== launch.txt
Test1.jww
Test2.jww
Test3.jww
Test4.jww
Test5.jww
Test6.jww
Test7.jww
========
1行に収まりました…。
launch.txtを好きなように編集してlaunch.batをダブルクリックすると、
指定ファイルを指定順で起動します。それ以外のことはしません。
「1000」は1000ミリ秒のウエイトらしいので適当に調整できます。
VBSで作る場合でも、起動ファイルのリストを分離したほうが変更が楽かと思います。
Indexへ
(12887)← 【12891】→(12880) ------------------------ 【タイトル】Re: 1行jgawk版
【記事番号】 12891 (12887 )
【 日時 】08/05/13 12:21
【 発言者 】sue sue@email.com
卯之介さん、こんにちは。
jgawk ありがとうございました。
ただ、私の知識不足のせいで
jgawk を使って図面を開くことができていません。
昨日の2ファイルのものも
今日の1行のものも、両方とも図面を開いてくれません。
実行するとDOS窓の中をエラーメッセージらしきものが
だーっと流れていきます。
同じメッセージが開こうとするファイルの数だけ
くり返し流れているように見えます。
jgawk を使う外部変形にはお世話になっているのですが…
やはり基本知識が無いといけませんね。
sue
Indexへ
(12891)← 【12880】→(13042) ------------------------ 【タイトル】Re(1): 一部訂正
【記事番号】 12880 (12874 )
【 日時 】08/05/12 23:31
【 発言者 】coolyoppe
▼sueさん:
>coolyoppeさん、こんにちは。
>
>さっそくの Jww_Run_Make.vbs ありがとうございました。
>
>試してみましたが、
>sugiさんへのコメントにも書かせていただいたとおり
>開く順番がこちらの意図どおりにならないのが辛いです。
>
基本的には、フォルダに表示されている順番になります。
名前順・逆順とか日付順・逆順とかで表示させた後で、
後のほうに表示されているファイルから選択していくのがコツです。
順番の変更は「Jww_Run.vbs」を編集すればOKですが、
どうしても選択順にしたい場合は、
フォルダの「表示」で「アイコン」表示にした後、
好きな順番に並べ変えて下さい。
その後で選択すると一番最後のファイルが先頭にくるだけで
他は順番通りになるようですので、
「Jww_Run.vbs」を編集して、一番最初のファイルを
最後に移動すればOKです。
>クイック起動への登録も
>あっちこっちのパソコンで作図作業をする私の環境ですと
>登録すること自体が現実的には厳しそうです。
>それと、、、
>自分はドラックアンドドロップという操作に
>慣れていないという悲しい現実に直面してしまいました(^^;
>ファイル管理の操作がDOSの頃からほとんど進歩していない
>お恥ずかしい状況です。
>
ドラッグアンドドロップが難しければ、
ファイルを選択した後、右クリックから「コピー」して
「Jww_Run_Make.vbs」(ショートカットでも可)上で右クリックから
「貼り付け」でも実行OKです。
また、「C:\Documents and Settings\○○\SendTo」(○○はユーザー名)
に「Jww_Run_Make.vbs」またはショートカットを登録(コピー)しておけば
ファイルを選択後に右クリックから「送る」「Jww_Run_Make.vbs」でも
実行できます。
(「SendTo」フォルダは隠しファイルになっているので、
フォルダのメニュー「ツール」「フォルダオプション」から
「表示」タブで「すべてのファイルとフォルダを表示する」が選択
されていないと表示されません。)
Indexへ
(12880)← 【13042】→(13044) ------------------------ 【タイトル】Re(1):ファイル名を拾って *.vbs を作る方法
【記事番号】 13042 (12844 )
【 日時 】08/05/29 21:43
【 発言者 】p patagon@bigfoot.com
▼sueさん:
>vbs 以外の便利な方法があれば
@echo off
rem 名前
rem Jw_cad_open1.bat
rem 機能
rem このバッチファイルがあるフォルダ内のJw_cadの図面ファイル(*.jww)を全て開く
rem 但しフォルダ名、ファイル名に空白を含むものは未対応
rem 前提(ひょっとしたら不要かも。自分の場合パス通さなくても起動できた)
rem Jw_cad(Jw_win) にパスを通していること
rem マイコンピュータ - プロパティ - 詳細設定 - 環境変数
rem システム環境変数 変数名 Path
rem 変数値(の例) %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\jww\
rem 変数値(の設定例) Jw_cad のインストールフォルダが「C:\jww」の場合、変数値の最後に「;C:\jww\」をつける。
rem FORについて
rem FORについてはヘルプを参照のこと。コマンドプロンプトで「FOR/?」
rem 参考 http://www.atmarkit.co.jp/fwin2k/operation/command007/command01.html
rem 参考 http://www.atmarkit.co.jp/fwin2k/operation/command008/command01.html
FOR /R %%i IN ( *.jww ) DO start %%i
Indexへ
(13042)← 【13044】→(13122) ------------------------ 【タイトル】Re(2):ファイル名を拾って *.vbs を作る方法
【記事番号】 13044 (13042 )
【 日時 】08/05/30 05:10
【 発言者 】p patagon@bigfoot.com
フォルダ名、ファイル名に空白を含むものにも対応するよう修正しました。
jw_cad(jw_win)にパスを通す必要があります。
実質、最後の「FOR /R %%i IN ( *.jww ) DO start jw_win "%%i"」という1行をバッチファイルに書いて、実行すればいいんですけど。
@echo off
rem 名前
rem Jw_cad_open2.bat
rem 機能
rem このバッチファイルがあるフォルダ内のJw_cadの図面ファイル(*.jww)を全て開く
rem フォルダ名、ファイル名に空白を含むものにも対応した
rem /* 前提(やっぱりパスを通す必要がある) */
rem Jw_cad(Jw_win) にパスを通していること
rem マイコンピュータ - プロパティ - 詳細設定 - 環境変数
rem システム環境変数 変数名 Path
rem 変数値(の例) %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\jww\
rem 変数値(の設定例) Jw_cad のインストールフォルダが「C:\jww」の場合、変数値の最後に「;C:\jww\」をつける。
rem FORについて
rem FORについてはヘルプを参照のこと。コマンドプロンプトで「FOR/?」
rem 参考 http://www.atmarkit.co.jp/fwin2k/operation/command007/command01.html
rem 参考 http://www.atmarkit.co.jp/fwin2k/operation/command008/command01.html
FOR /R %%i IN ( *.jww ) DO start jw_win "%%i"
Indexへ
(13044)← 【13122】//(12860) ------------------------ 【タイトル】Re3: ファイル名を拾って *.vbs を作る方法
【記事番号】 13122 (13044 )
【 日時 】08/06/06 11:48
【 発言者 】sue sue@email.com
pさん、こんにちは。
すみません、お返事がおくれました。
おかげさまで、先日こちらで作ってもらったやつを
日々便利に使わせてもらっております。
vbs を使わない方法もあるんですね
今後の参考になります。
ありがとうございました。 sue