こんなことコンピュータにやらせろよ。そう思ったことはありませんか?
簡易的な実行環境も含めて普通のOSだったら当たり前に備わっている自動実行。
Windowsの標準に備わっているそれがWSH(Windows Script Host)です。
また、ここではWSHだけに限らずWMI、ADSIなどのネタもOKです。
・煽りや荒らしは無視の方針で。基本的にsage進行です。
・ここでヒントを得て完成したスクリプトは、出来れば皆さんにお披露目してください。
同じことで悩んでいる人のためになります。
・質問する際は、OS及び使用するコンポーネントのバージョンもお忘れなく。
前スレ
お前ら、wsh使ってますか? Part7
http://hibari.2ch.net/test/read.cgi/win/1190548945/
探検
お前ら、wsh使ってますか? Part8
■ このスレッドは過去ログ倉庫に格納されています
2010/12/19(日) 22:20:35ID:SZFqF39w
558名無し~3.EXE
2013/12/04(水) 21:04:29.54ID:lXQmNau7 >>557
Scriptomatic Version 2.0 by The Microsoft Scripting Guys
あとWindowsSDKの中にもサンプル転がってるっぽい。
SDK入れた後のC:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\SysMgmt\WMI\Scripting\WSH\JScriptとか
Scriptomatic Version 2.0 by The Microsoft Scripting Guys
あとWindowsSDKの中にもサンプル転がってるっぽい。
SDK入れた後のC:\Program Files\Microsoft SDKs\Windows\v6.1\Samples\SysMgmt\WMI\Scripting\WSH\JScriptとか
559名無し~3.EXE
2013/12/04(水) 21:36:19.11ID:RjSD8VJT561557
2013/12/06(金) 07:18:40.26ID:4tTY+9MF レスありがとう
英語はダメだけどがんばってみますorz
英語はダメだけどがんばってみますorz
562名無し~3.EXE
2013/12/09(月) 06:09:14.33ID:aRM1YEm8 VBSでバイナリ操作したくて調べてみたけど、このページの読み取り時のバグが面倒くさすぎる。
ttp://www.isla-plata.org/wiki/pukiwiki.php?ADODB.Stream%A4%CB%A4%E8%A4%EB%A5%D5%A5%A1%A5%A4%A5%EB%A4%CE%A5%D0%A5%A4%A5%CA%A5%EA%A5%A2%A5%AF%A5%BB%A5%B9%A1%CA%C4%B4%BA%BA%CA%D4%A1%CB
JSとVBSでバグってる出力の結果が違うからJSでやるしかないみたいだし。
ttp://www.isla-plata.org/wiki/pukiwiki.php?ADODB.Stream%A4%CB%A4%E8%A4%EB%A5%D5%A5%A1%A5%A4%A5%EB%A4%CE%A5%D0%A5%A4%A5%CA%A5%EA%A5%A2%A5%AF%A5%BB%A5%B9%A1%CA%C4%B4%BA%BA%CA%D4%A1%CB
JSとVBSでバグってる出力の結果が違うからJSでやるしかないみたいだし。
563名無し~3.EXE
2013/12/09(月) 21:46:10.26ID:LhO4dWSS news.mynavi.jp/articles/2012/11/20/FD/images/001.jpg
こういう感じのインターフェイスって標準機能だけで作れますか?
一覧を表示してキーボードの十字キーとかで項目を選択
みたいなことをしたいです
外部アプリケーションが必要になったりIEでhtmlベースになったりですか?
こういう感じのインターフェイスって標準機能だけで作れますか?
一覧を表示してキーボードの十字キーとかで項目を選択
みたいなことをしたいです
外部アプリケーションが必要になったりIEでhtmlベースになったりですか?
564名無し~3.EXE
2013/12/11(水) 00:49:34.13ID:dRS2pO1C565名無し~3.EXE
2013/12/11(水) 00:55:29.73ID:dRS2pO1C 誤爆スマソ
566名無し~3.EXE
2013/12/12(木) 18:52:13.22ID:26eub4dC >>563
> news.mynavi.jp/articles/2012/11/20/FD/images/001.jpg
> こういう感じのインターフェイスって標準機能だけで作れますか?
標準はDialog程度で、Yes/Noやメッセージ表示ぐらいしかない
> 一覧を表示してキーボードの十字キーとかで項目を選択
> みたいなことをしたいです
> 外部アプリケーションが必要になったりIEでhtmlベースになったりですか?
Yes
> news.mynavi.jp/articles/2012/11/20/FD/images/001.jpg
> こういう感じのインターフェイスって標準機能だけで作れますか?
標準はDialog程度で、Yes/Noやメッセージ表示ぐらいしかない
> 一覧を表示してキーボードの十字キーとかで項目を選択
> みたいなことをしたいです
> 外部アプリケーションが必要になったりIEでhtmlベースになったりですか?
Yes
568名無し~3.EXE
2013/12/13(金) 21:16:37.60ID:o2iTZFGZ PowerShellならカーソル移動できるからイケルと思うぜ
569名無し~3.EXE
2013/12/25(水) 00:25:46.96ID:hFjMLCId 職場のPCがwindows7に更新されたが、
sendkeyにはさむ sleepを長めにしないとキー入力をとりこぼすようで
まんどくさ。
sendkeyにはさむ sleepを長めにしないとキー入力をとりこぼすようで
まんどくさ。
570名無し~3.EXE
2013/12/30(月) 17:01:10.98ID:EDy0BQaD 最初からappactivate判定で待ち合わせろ
571名無し~3.EXE
2014/01/10(金) 23:41:02.13ID:1HPG3rM3 http://okwave.jp/qa/q6809341.html の辺りでしょうか? ありがとさん。
職場のPCは、節電のためか10分経つと、コントロールパネル以外のソフトの機能で
画面が消えて、再び使うには再認証が必要でめんどくさいので、
8分間マウスを動かしていなかったら(マウスの位置読み出しはwsh以外だが)
sendkeys でHOMEキーを送出するようにしたら、再認証不要になって快適になった。
(副作用が全く無いわけではないけど、分かった上で使う分にはおk)
職場のPCは、節電のためか10分経つと、コントロールパネル以外のソフトの機能で
画面が消えて、再び使うには再認証が必要でめんどくさいので、
8分間マウスを動かしていなかったら(マウスの位置読み出しはwsh以外だが)
sendkeys でHOMEキーを送出するようにしたら、再認証不要になって快適になった。
(副作用が全く無いわけではないけど、分かった上で使う分にはおk)
572名無し~3.EXE
2014/01/11(土) 12:45:12.41ID:RKjZjfgC573名無し~3.EXE
2014/01/11(土) 22:38:29.99ID:tut8jvn+ >マウスを擬似的に動かすのが一番副作用が少ないとは思うけど、
言われてみれば、そんな気もします。
wshの出番がなくなりますが、最終的にはその方向ですね。
別のsendkeys を使うwshスクリプトが
想定したタイミングでのsendkeys に失敗した場合に
現状、タスクマネージャーで強制終了してますが
HOMEキー送出と合わせて2つのWscript.exe のタスクが出現することになり
どちらを強制終了すべきなのが分からなくなるので
想定したタイミングでのsendkeys に失敗した場合には
そのwshスクリプトの実行を打ち切るかなんとかする方法を考えなければいけない
ということもあるので
10分以上席を外しておいても再認証不要にするほうは
wsh無しでいくようにするかなあ。
言われてみれば、そんな気もします。
wshの出番がなくなりますが、最終的にはその方向ですね。
別のsendkeys を使うwshスクリプトが
想定したタイミングでのsendkeys に失敗した場合に
現状、タスクマネージャーで強制終了してますが
HOMEキー送出と合わせて2つのWscript.exe のタスクが出現することになり
どちらを強制終了すべきなのが分からなくなるので
想定したタイミングでのsendkeys に失敗した場合には
そのwshスクリプトの実行を打ち切るかなんとかする方法を考えなければいけない
ということもあるので
10分以上席を外しておいても再認証不要にするほうは
wsh無しでいくようにするかなあ。
574名無し~3.EXE
2014/01/12(日) 01:49:25.19ID:HjXkxgYs wscript.timeout=10
とかで打ち切る
とかで打ち切る
575名無し~3.EXE
2014/01/12(日) 11:58:23.86ID:a5kPJ/gt >>571
上手いことやったつもりになってるのかも知れないけど、それを会社の許可取らずに勝手にやってるとしたら
それは社会人として、大人として、最低の行為だよ。話通してるなら、そんな回りくどいことせずに
10分を30分とか60分にする方向で対応するだろうから、おそらく勝手にやってるんだと思うけどね。
うちも昔、ExcelとかのVBAが使えなかったんだけど、こっそりセキュリティーレベルを下げて
勝手にVBA使っちゃうという>>571みたいなことも出来たけど、俺はちゃんと筋を通し
VBA活用した業務システムのサンプルを作ってプレゼンし、正式にVBAの使用を許可されて使ってる。
VBAのことを解っていて意図的に禁止にしているのではなく、解ってないからデフォのマクロ無効にままに
しているだけだろうと思っても、組織の中では筋を通すのが大人のやり方だ。
自宅PCなら、電気代払うのも、セキュリティーが下がったツケを払うのも自分だが
職場ではそれを払わされるのは会社だからね。それで増える電気代なんて些細なものだし
外部の人間が出入りしないから、そこまでのセキュリティーも必要ないってなら
それを主張して改善を求めれば良いだけのこと。それをした上で断られたなら
きちんと理由があって断られたにせよ、相手の理解力が乏しいから解って貰えなかっただけにしろ
会社の方針には従うのが雇われ従業員の義務で、それが嫌なら転職か独立するしかない。
なんて正論言っても、2chでは正論に対して斜に構えて反発する方がカッコイイ的な風潮があるから
逆にこっちがウザいだの長文だのと難癖付けて叩かれたりしそうだけどねw
上手いことやったつもりになってるのかも知れないけど、それを会社の許可取らずに勝手にやってるとしたら
それは社会人として、大人として、最低の行為だよ。話通してるなら、そんな回りくどいことせずに
10分を30分とか60分にする方向で対応するだろうから、おそらく勝手にやってるんだと思うけどね。
うちも昔、ExcelとかのVBAが使えなかったんだけど、こっそりセキュリティーレベルを下げて
勝手にVBA使っちゃうという>>571みたいなことも出来たけど、俺はちゃんと筋を通し
VBA活用した業務システムのサンプルを作ってプレゼンし、正式にVBAの使用を許可されて使ってる。
VBAのことを解っていて意図的に禁止にしているのではなく、解ってないからデフォのマクロ無効にままに
しているだけだろうと思っても、組織の中では筋を通すのが大人のやり方だ。
自宅PCなら、電気代払うのも、セキュリティーが下がったツケを払うのも自分だが
職場ではそれを払わされるのは会社だからね。それで増える電気代なんて些細なものだし
外部の人間が出入りしないから、そこまでのセキュリティーも必要ないってなら
それを主張して改善を求めれば良いだけのこと。それをした上で断られたなら
きちんと理由があって断られたにせよ、相手の理解力が乏しいから解って貰えなかっただけにしろ
会社の方針には従うのが雇われ従業員の義務で、それが嫌なら転職か独立するしかない。
なんて正論言っても、2chでは正論に対して斜に構えて反発する方がカッコイイ的な風潮があるから
逆にこっちがウザいだの長文だのと難癖付けて叩かれたりしそうだけどねw
576名無し~3.EXE
2014/01/12(日) 13:27:57.74ID:2iUJbU11 ウチの職場ではWSHどころかVBAですら「他の人がメンテする際に面倒な事になる」って理由で推奨されてない。
確かにその通りだが、以前どうしても業務にWSHやVBAに頼らざるをえない部分があって、上司を説得するのに苦労したよ。
同じ会社の別の部署では事前に上司に一報入れとけば即OKだったが、そこは仕方ない。
確かにその通りだが、以前どうしても業務にWSHやVBAに頼らざるをえない部分があって、上司を説得するのに苦労したよ。
同じ会社の別の部署では事前に上司に一報入れとけば即OKだったが、そこは仕方ない。
577名無し~3.EXE
2014/01/12(日) 14:06:50.55ID:ydyFH/eR >>575,576
正論ではある。が、管理が適当な会社で下の方だと、そう言う
IT関係の部署の許可を得る事自体が難しかったりする
当然現場のリソースの管理も出来ていないから万年人不足
上は「効率化、効率化」と吠えるが、効率化をするためのリソースは
まともに出ない。そうなると現場はずるをしないと業務が回らない
今の職場だけどね・・・そんなのを長く続けているとそのうち火傷しそう
なので辞めるつもりだけど
これは極端にしても、本社が求めるセキュリティ管理と現場の環境が
完全に一致している職場は今のところ見たことがないな
程度の差はあれ適当にお茶を濁さないと(現場の都合のいいように
解釈して運用する)業務の遂行に支障をきたす場合が多かった
大企業でも孫請けや客先作業だと綱渡りをしていたりするし
正論ではある。が、管理が適当な会社で下の方だと、そう言う
IT関係の部署の許可を得る事自体が難しかったりする
当然現場のリソースの管理も出来ていないから万年人不足
上は「効率化、効率化」と吠えるが、効率化をするためのリソースは
まともに出ない。そうなると現場はずるをしないと業務が回らない
今の職場だけどね・・・そんなのを長く続けているとそのうち火傷しそう
なので辞めるつもりだけど
これは極端にしても、本社が求めるセキュリティ管理と現場の環境が
完全に一致している職場は今のところ見たことがないな
程度の差はあれ適当にお茶を濁さないと(現場の都合のいいように
解釈して運用する)業務の遂行に支障をきたす場合が多かった
大企業でも孫請けや客先作業だと綱渡りをしていたりするし
578名無し~3.EXE
2014/01/13(月) 02:47:07.44ID:bjDcfip/ そもそもその機能は絶対節電のためじゃないから
もし席を外してる隙に誰かにかってに弄られたりしたら責任取れるの?ってことだし
もし席を外してる隙に誰かにかってに弄られたりしたら責任取れるの?ってことだし
580名無し~3.EXE
2014/01/21(火) 17:35:56.87ID:wTIIfMdS IE11にしたらIE.Busyの挙動がおかしくなったわ・・・
自分用だからいいけど仕事で使ってる人はたまらんだろうな
自分用だからいいけど仕事で使ってる人はたまらんだろうな
581名無し~3.EXE
2014/01/24(金) 17:35:07.73ID:qqX4+tyI いないよ
582名無し~3.EXE
2014/01/27(月) 17:28:47.49ID:2F/WrB+e 誰がいないの?
583名無し~3.EXE
2014/01/29(水) 01:02:50.93ID:6l4VCNbt 580の言う「仕事で(IE.Busyを)使ってる人(で、IE11にした人)」だろう
584名無し~3.EXE
2014/01/29(水) 18:25:21.89ID:fNYlkM6M 8.1搭載PC導入すれば自動的にIE11
585名無し~3.EXE
2014/02/27(木) 00:56:57.07ID:Eji7pyZ2 objIE.navigateでオートメーションしてる。
IE9/10の脆弱性、MSがIE11なら安心できるぞとか言ってるけど、
上げたらやっぱスクリプトが壊滅するんだろうな。
IE9/10の脆弱性、MSがIE11なら安心できるぞとか言ってるけど、
上げたらやっぱスクリプトが壊滅するんだろうな。
586名無し~3.EXE
2014/03/06(木) 17:45:30.32ID:ik8ivR1r powershellが出てるというのに、いまさらバッチ⇒wsh書き換えを始めました
バッチでいうところの"%*"=「起動時の全パラメータを表示」をvbscriptでは簡単にかけないでしょうか?
ggったのですが…やっぱり、For eachとかで表示しなきゃだめですか?
バッチでいうところの"%*"=「起動時の全パラメータを表示」をvbscriptでは簡単にかけないでしょうか?
ggったのですが…やっぱり、For eachとかで表示しなきゃだめですか?
587名無し~3.EXE
2014/03/07(金) 02:12:37.60ID:D4aPQwt3 はじめまして WSHを利用したオーディオプレーヤーの表示変更で躓いています
https://dl.dropboxusercontent.com/u/10447545/%E7%84%A1%E9%A1%8C.png
現在「曲タイトル ・タイトルアーティスト名」 とあるのを赤文字の様に
曲時間の前に右詰で表示したいのですが方法がわかりません
W = w - lengthWidth - playCountWidth - ratingW;
var gic = groupItemCounter++;
var itemNr = (((gic) < 10) ? ("0" + (gic)) : (gic));
var title = $("$if(%tracknumber%,%tracknumber%," + itemNr + ".) %title%", metadb);
var titleArtist = $("[ \u25AA $if($greater($len(%album artist%),1),$if($greater($len(%track artist%),1),%track artist%))]", metadb);
if (titleArtist) {
var titleLength = gr.MeasureString(title, titleFont, 0, 0, 0, 0, StringFormat(0, 1, 3, 0x00000800 | 0x1000)).Width;
//var titleArtistLength = gr.MeasureString(track artist, titleArtistFont, 0, 0, 0, 0, StringFormat(0, 1, 3, 0x00000800 | 0x1000)).Width;
var titleArtistFont = gdi.font("Meiryo UI", 11, 0);
gr.DrawString(titleArtist + queue, titleArtistFont, titleArtistColor, x + 10 + titleLength, y, W - 10 - titleLength, h, StringFormat(0, 1, 3, 0x1000));
}
gr.DrawString(title + (titleArtist ? "" : queue), titleFont, titleColor, x + 10, y, W - 10, h, StringFormat(0, 1, 3, 0x1000));
の x + 10 + titleLength を変えればタイトルアーティスト名が移動するのがわかりました
x + 10 + titleLength を W に変更するとちょうどタイトルアーティスト名と曲時間がかぶって表示されますのでそこから
タイトルアーティスト名Lengthを引けば 結果右詰のようになるのかと思うのですがタイトルアーティスト名Lengthの取得法も分からずで行き詰っています
詳しい方アドバイスいただけないでしょうか? よろしくお願いいたします
https://dl.dropboxusercontent.com/u/10447545/%E7%84%A1%E9%A1%8C.png
現在「曲タイトル ・タイトルアーティスト名」 とあるのを赤文字の様に
曲時間の前に右詰で表示したいのですが方法がわかりません
W = w - lengthWidth - playCountWidth - ratingW;
var gic = groupItemCounter++;
var itemNr = (((gic) < 10) ? ("0" + (gic)) : (gic));
var title = $("$if(%tracknumber%,%tracknumber%," + itemNr + ".) %title%", metadb);
var titleArtist = $("[ \u25AA $if($greater($len(%album artist%),1),$if($greater($len(%track artist%),1),%track artist%))]", metadb);
if (titleArtist) {
var titleLength = gr.MeasureString(title, titleFont, 0, 0, 0, 0, StringFormat(0, 1, 3, 0x00000800 | 0x1000)).Width;
//var titleArtistLength = gr.MeasureString(track artist, titleArtistFont, 0, 0, 0, 0, StringFormat(0, 1, 3, 0x00000800 | 0x1000)).Width;
var titleArtistFont = gdi.font("Meiryo UI", 11, 0);
gr.DrawString(titleArtist + queue, titleArtistFont, titleArtistColor, x + 10 + titleLength, y, W - 10 - titleLength, h, StringFormat(0, 1, 3, 0x1000));
}
gr.DrawString(title + (titleArtist ? "" : queue), titleFont, titleColor, x + 10, y, W - 10, h, StringFormat(0, 1, 3, 0x1000));
の x + 10 + titleLength を変えればタイトルアーティスト名が移動するのがわかりました
x + 10 + titleLength を W に変更するとちょうどタイトルアーティスト名と曲時間がかぶって表示されますのでそこから
タイトルアーティスト名Lengthを引けば 結果右詰のようになるのかと思うのですがタイトルアーティスト名Lengthの取得法も分からずで行き詰っています
詳しい方アドバイスいただけないでしょうか? よろしくお願いいたします
588名無し~3.EXE
2014/03/07(金) 02:16:22.10ID:D4aPQwt3589名無し~3.EXE
2014/03/07(金) 07:20:42.99ID:QXUzZnL1 WSH/JScriptで画像?と思ったけど、foobarにWSH Panel Modってのがあるのか…
>>587
grとかgidとかのオブジェクトはWSH自体の機能じゃなくて、
そのオーディオプレイヤー及びプラグインの提供する機能。
周辺の使われ方とJScriptの知識から推測は出来るけど、
素直に環境も提示してから質問した方がいいよ、これは。
例えば、foo_uie_wsh_panel_mod-*/docs/Interfaces.htmlとかあったでしょ?
まぁ取り敢えずはgr.DrawString(titleArtist〜);のところをこうする
var titleArtistLength=gr.MeasureString(titleArtist+queue,titleArtistFont,0,0,0,0,StringFormat(0,1,3,0x00000800|0x1000)).Width;
gr.DrawString(titleArtist+queue,titleArtistFont,titleArtistColor,x+W-titleArtistLength,y,titleArtistLength,h,StringFormat(0,1,3,0x1000));
ただこれだと横幅足りない時に多分文字が被る(未確認)のでこれの二行目をこうする
gr.DrawString(titleArtist+queue,titleArtistFont,titleArtistColor,
(W-titleArtistLength-10-titleLength<0)?(x+10+titleLength):(x+W-titleArtistLength),y,
(W-titleArtistLength-10-titleLength<0)?(W-10-titleLength):(titleArtistLength),h,StringFormat(0,1,3,0x1000));
タイトルの時点で横幅足りない時は元の通り(多分はみ出す)のはず…だけど未確認なんで動くかは知らん
>>587
grとかgidとかのオブジェクトはWSH自体の機能じゃなくて、
そのオーディオプレイヤー及びプラグインの提供する機能。
周辺の使われ方とJScriptの知識から推測は出来るけど、
素直に環境も提示してから質問した方がいいよ、これは。
例えば、foo_uie_wsh_panel_mod-*/docs/Interfaces.htmlとかあったでしょ?
まぁ取り敢えずはgr.DrawString(titleArtist〜);のところをこうする
var titleArtistLength=gr.MeasureString(titleArtist+queue,titleArtistFont,0,0,0,0,StringFormat(0,1,3,0x00000800|0x1000)).Width;
gr.DrawString(titleArtist+queue,titleArtistFont,titleArtistColor,x+W-titleArtistLength,y,titleArtistLength,h,StringFormat(0,1,3,0x1000));
ただこれだと横幅足りない時に多分文字が被る(未確認)のでこれの二行目をこうする
gr.DrawString(titleArtist+queue,titleArtistFont,titleArtistColor,
(W-titleArtistLength-10-titleLength<0)?(x+10+titleLength):(x+W-titleArtistLength),y,
(W-titleArtistLength-10-titleLength<0)?(W-10-titleLength):(titleArtistLength),h,StringFormat(0,1,3,0x1000));
タイトルの時点で横幅足りない時は元の通り(多分はみ出す)のはず…だけど未確認なんで動くかは知らん
590名無し~3.EXE
2014/03/07(金) 10:12:05.60ID:D4aPQwt3 >>589
早速のレスありがとうございます 眠ってしまっていましたすみません
おっしゃる通りfoobarを弄っておりました
これから仕事に出ますので戻り次第、動作報告させていただきます
詳しい内容のれすありがとうございます
取り急ぎのお礼となりますが多くのアドバイスに感謝いたします m(_ _)m
早速のレスありがとうございます 眠ってしまっていましたすみません
おっしゃる通りfoobarを弄っておりました
これから仕事に出ますので戻り次第、動作報告させていただきます
詳しい内容のれすありがとうございます
取り急ぎのお礼となりますが多くのアドバイスに感謝いたします m(_ _)m
591名無し~3.EXE
2014/03/07(金) 18:57:18.18ID:D4aPQwt3 >>589
こんばんは、教えていただいた様に記述すると見事、希望の表示となりました。
感謝感激であります 素晴らしいです
http://uploda.cc/img/img531996d70acb8.png
この様にプログラミング言語を理解されている方を本当に尊敬いたします
私も少しで理解できるよう勉強していきたいと思います
大変勉強になりました お世話になりました ありがとうございます m(_ _)m
こんばんは、教えていただいた様に記述すると見事、希望の表示となりました。
感謝感激であります 素晴らしいです
http://uploda.cc/img/img531996d70acb8.png
この様にプログラミング言語を理解されている方を本当に尊敬いたします
私も少しで理解できるよう勉強していきたいと思います
大変勉強になりました お世話になりました ありがとうございます m(_ _)m
592名無し~3.EXE
2014/03/07(金) 19:50:09.28ID:ACaqx7cc オプションを指定したショートカットファイルへ適当なファイルをドラッグアンドドロップしたときに
named と unnamed プロパティが表示されません。
下のスクリプトを WSF にして、それのショートカットをつくって"リンク先"にオプションを追加しました。
ショートカットを実行すると named が表示されて期待通りなのですが、
ショーカットにファイルをドラッグアンドドロップすると unnamed しか表示されません。
コマンドプロンプトで「このショートカットファイル 適当なファイル」を実行すると
期待通りに named と unnamed が表示されます。
ショートカットファイルを「cscript //nologo file.wsf /aaa」にして、
それにファイルをドラッグアンドドロップすると期待通りに動きます。(wscriptも同様です)
スクリプトへのショートカットで動かしたいのですがどうにかならないでしょうか。
やはり cscript から指定するしかないのでしょうか。
<?XML version="1.0" standalone="yes" encoding="Shift_JIS" ?>
<job>
<script language="VBScript"><![CDATA[
Set Args=WScript.Arguments
if args.named.count>0 then
for each f in args.named
Wscript.Echo "named="&f
next
end if
if args.unnamed.count>0 then
for each f in args.unnamed
Wscript.Echo "unnamed="&f
next
end if
]]></script>
</job>
named と unnamed プロパティが表示されません。
下のスクリプトを WSF にして、それのショートカットをつくって"リンク先"にオプションを追加しました。
ショートカットを実行すると named が表示されて期待通りなのですが、
ショーカットにファイルをドラッグアンドドロップすると unnamed しか表示されません。
コマンドプロンプトで「このショートカットファイル 適当なファイル」を実行すると
期待通りに named と unnamed が表示されます。
ショートカットファイルを「cscript //nologo file.wsf /aaa」にして、
それにファイルをドラッグアンドドロップすると期待通りに動きます。(wscriptも同様です)
スクリプトへのショートカットで動かしたいのですがどうにかならないでしょうか。
やはり cscript から指定するしかないのでしょうか。
<?XML version="1.0" standalone="yes" encoding="Shift_JIS" ?>
<job>
<script language="VBScript"><![CDATA[
Set Args=WScript.Arguments
if args.named.count>0 then
for each f in args.named
Wscript.Echo "named="&f
next
end if
if args.unnamed.count>0 then
for each f in args.unnamed
Wscript.Echo "unnamed="&f
next
end if
]]></script>
</job>
593名無し~3.EXE
2014/03/07(金) 20:29:44.76ID:ACaqx7cc594名無し~3.EXE
2014/03/07(金) 20:43:11.69ID:R/i8eMRA JScriptで実行しているコンソール画面の消去やカーソルの移動を行う方法が
あったら教えてください。ANSIエスケープシーケンスが使えないので代替手段を
探しています。tailもどきみたいなツールを作りたいです
あったら教えてください。ANSIエスケープシーケンスが使えないので代替手段を
探しています。tailもどきみたいなツールを作りたいです
595名無し~3.EXE
2014/03/09(日) 00:04:08.12ID:AC1x3CVd >586
join ではダメなん?
join ではダメなん?
596586
2014/03/09(日) 20:57:07.19ID:fvfMSQ5P >>595
低レベルな相談にアドバイスをありがとうございます
joinを以下のように使ってみたのですが、エラーになってしまいました
set objArgs = Wscript.Arguments
Wscript.Echo Join(objArgs, " ")
実行
>cscript test.vbs aaa bbb ccc ddd
test.vbs(2, 1) Microsoft VBScript 実行時エラー: 引数の数が
一致していません。または不正なプロパティを指定しています。
Join関数の中のobjArgsをobjArgs.Itemにしても同じエラーでした
オブジェクト型?だとダメなんですかね
しかしよく考えたら、どうせパラメータ解析を行うときにFor Eachするので
そこでついでにつなぎ合わせて表示すれば良いことが判りました。ハズカシイ///
失礼しました
低レベルな相談にアドバイスをありがとうございます
joinを以下のように使ってみたのですが、エラーになってしまいました
set objArgs = Wscript.Arguments
Wscript.Echo Join(objArgs, " ")
実行
>cscript test.vbs aaa bbb ccc ddd
test.vbs(2, 1) Microsoft VBScript 実行時エラー: 引数の数が
一致していません。または不正なプロパティを指定しています。
Join関数の中のobjArgsをobjArgs.Itemにしても同じエラーでした
オブジェクト型?だとダメなんですかね
しかしよく考えたら、どうせパラメータ解析を行うときにFor Eachするので
そこでついでにつなぎ合わせて表示すれば良いことが判りました。ハズカシイ///
失礼しました
597名無し~3.EXE
2014/03/10(月) 01:34:08.42ID:odCUQACu wsh はハードウェアを直接たたけないので高レベルだが、何か?
598名無し~3.EXE
2014/03/18(火) 01:58:31.54ID:8JSsnlcw Win7です
特定のフォルダ1つの中に、沢山のサブフォルダが100個単位であります
そことは違う場所に複数のファイルがあり、こいつらをさっきのサブフォルダにコピーや移動して整理したい
選択された個々のファイル名から、どのサブフォルダにコピー・移動すべきかはほぼ自動で決まります
ただ、沢山のサブフォルダ群から目的のサブフォルダを探し出すのが面倒なので、それを自動化したい
しかし、Win7のエクスプローラの操作感(上書き確認や別名でコピーなどの選択肢がサムネイルと日時付きで選べる)は
そのまま生かしたい
こういう場合にWSHは使えるでしょうか?
FileSystemObject の CopyFile を使うとデフォルトで上書きされてしまうようで、不都合です
他のオブジェクトのメソッドで、エクスプローラのあのダイアログを使えるようなものはないでしょうか?
特定のフォルダ1つの中に、沢山のサブフォルダが100個単位であります
そことは違う場所に複数のファイルがあり、こいつらをさっきのサブフォルダにコピーや移動して整理したい
選択された個々のファイル名から、どのサブフォルダにコピー・移動すべきかはほぼ自動で決まります
ただ、沢山のサブフォルダ群から目的のサブフォルダを探し出すのが面倒なので、それを自動化したい
しかし、Win7のエクスプローラの操作感(上書き確認や別名でコピーなどの選択肢がサムネイルと日時付きで選べる)は
そのまま生かしたい
こういう場合にWSHは使えるでしょうか?
FileSystemObject の CopyFile を使うとデフォルトで上書きされてしまうようで、不都合です
他のオブジェクトのメソッドで、エクスプローラのあのダイアログを使えるようなものはないでしょうか?
599名無し~3.EXE
2014/03/18(火) 07:01:19.59ID:7hnQmGRM これででるんだっけ?
ttp://msdn.microsoft.com/en-us/library/windows/desktop/bb787866(v=vs.85).aspx
ttp://www.happy2-island.com/vbs/cafe02/capter00304.shtml
ttp://d.hatena.ne.jp/miya2000/20061211/1165806376
ttp://msdn.microsoft.com/en-us/library/windows/desktop/bb787866(v=vs.85).aspx
ttp://www.happy2-island.com/vbs/cafe02/capter00304.shtml
ttp://d.hatena.ne.jp/miya2000/20061211/1165806376
601名無し~3.EXE
2014/03/18(火) 20:34:54.00ID:0kW9Tn2n >>599
フォルダまるごと、あるいは1個のファイルのコピーならば CopyHere が使えました
ありがとうございました
ただ、たとえばSendToにvbsファイルを登録して複数個のファイルのコピーをしようとすると
CopyHereの引数に複数ファイルを指定するやり方がググってみてもよく分からないため、
ループを回して1個ずつ個別にコピーしなければならず、
エクスプローラの「同じ処理を○個の競合に適用」が使えません
CopyHere に複数のファイルを渡すにはどうしたらよいのでしょうか?
フォルダまるごと、あるいは1個のファイルのコピーならば CopyHere が使えました
ありがとうございました
ただ、たとえばSendToにvbsファイルを登録して複数個のファイルのコピーをしようとすると
CopyHereの引数に複数ファイルを指定するやり方がググってみてもよく分からないため、
ループを回して1個ずつ個別にコピーしなければならず、
エクスプローラの「同じ処理を○個の競合に適用」が使えません
CopyHere に複数のファイルを渡すにはどうしたらよいのでしょうか?
602名無し~3.EXE
2014/03/18(火) 21:49:20.42ID:0kW9Tn2n エクスプローラの「同じ処理を○個の競合に適用」が使えなくても
とりあえず使えればいいかな、と(テスト環境でなく)実際の環境で実践してみた結果・・・
「実行できません。引数一覧が長すぎます。」
Oh・・・こんな仕様があったとは・・・orz
とりあえず使えればいいかな、と(テスト環境でなく)実際の環境で実践してみた結果・・・
「実行できません。引数一覧が長すぎます。」
Oh・・・こんな仕様があったとは・・・orz
603名無し~3.EXE
2014/03/19(水) 11:17:44.83ID:sxeZPubB 事後報告
「送る」で多くのファイルをWSHに受け取るのは仕様上無理?っぽいので
結局WSHは諦めて、C#を使って↓のを参考に
クリップボードでファイルの受け渡し、コピー・移動は SHFileOperation を呼び出すことにしました・・・
ttp://uchukamen.com/Programming1/ToRecycleBin/
ttp://dobon.net/vb/dotnet/file/copyfiletoclipboard.html
「送る」で多くのファイルをWSHに受け取るのは仕様上無理?っぽいので
結局WSHは諦めて、C#を使って↓のを参考に
クリップボードでファイルの受け渡し、コピー・移動は SHFileOperation を呼び出すことにしました・・・
ttp://uchukamen.com/Programming1/ToRecycleBin/
ttp://dobon.net/vb/dotnet/file/copyfiletoclipboard.html
604名無し~3.EXE
2014/03/19(水) 20:36:52.43ID:WSz9wMSM プログラム初心者です。
しょうもない質問で申し訳ないのですが、ご教授願います。
定時にアラートを鳴らす下記のスクリプト、二回目のポップアップ以降
タスクバーに隠れてしまいます。
OKが押されるまでポップアップを出し続けるにはどうすればよいでしょうか?
OSはWindows7です。
よろしくお願いします。
strSoundFile="C:\Windows\Media\alert.wav"
Set objShell = CreateObject("Wscript.Shell")
Do While True
objShell.Run strSoundFile,0,True
If objShell.Popup("早く!", 3, "時間だよ", vbOKOnly) = 1 Then Exit Do
Loop
しょうもない質問で申し訳ないのですが、ご教授願います。
定時にアラートを鳴らす下記のスクリプト、二回目のポップアップ以降
タスクバーに隠れてしまいます。
OKが押されるまでポップアップを出し続けるにはどうすればよいでしょうか?
OSはWindows7です。
よろしくお願いします。
strSoundFile="C:\Windows\Media\alert.wav"
Set objShell = CreateObject("Wscript.Shell")
Do While True
objShell.Run strSoundFile,0,True
If objShell.Popup("早く!", 3, "時間だよ", vbOKOnly) = 1 Then Exit Do
Loop
605名無し~3.EXE
2014/03/19(水) 20:45:51.46ID:fmho9aI2 逆に考えるんだ
.popupって時間制限で消えるようにできるだろ?
戻り値が0にならない限り何度でも現れ直すようにすればいいだろ
.popupって時間制限で消えるようにできるだろ?
戻り値が0にならない限り何度でも現れ直すようにすればいいだろ
606名無し~3.EXE
2014/03/19(水) 20:47:03.25ID:fmho9aI2 ってすまん
そういう風にしてるのか
だとすればサウンドを鳴らすだけのスクリプトを別に作っていちいち起動するようにするとかか?
そういう風にしてるのか
だとすればサウンドを鳴らすだけのスクリプトを別に作っていちいち起動するようにするとかか?
607名無し~3.EXE
2014/03/19(水) 20:53:07.89ID:WSz9wMSM608名無し~3.EXE
2014/03/22(土) 23:52:20.61ID:Z7dMfY4M If objShell.Popup("早く!", 3, "時間だよ", vbOKOnly+4096) = 1 Then Exit Do
610名無し~3.EXE
2014/03/23(日) 18:28:06.03ID:IwD5u7Na >>608
PopupってMB_SYSTEMMODAL(4096)とかのメッセージボックス用フラグも効くのか!
てことは
MB_DEFBUTTON1(0)、MB_DEFBUTTON2(256)、
MB_DEFBUTTON3(512)、MB_DEFBUTTON4(768)、
MB_SYSTEMMODAL(4096)、MB_SETFOREGROUND(65536)、MB_TOPMOST(262144)、
MB_RIGHT(524288)、MB_RTLREADING(1048576)
このへんも使えるんだな。知らんかった
PopupってMB_SYSTEMMODAL(4096)とかのメッセージボックス用フラグも効くのか!
てことは
MB_DEFBUTTON1(0)、MB_DEFBUTTON2(256)、
MB_DEFBUTTON3(512)、MB_DEFBUTTON4(768)、
MB_SYSTEMMODAL(4096)、MB_SETFOREGROUND(65536)、MB_TOPMOST(262144)、
MB_RIGHT(524288)、MB_RTLREADING(1048576)
このへんも使えるんだな。知らんかった
611名無し~3.EXE
2014/03/23(日) 20:31:45.36ID:maZS4sl1612名無し~3.EXE
2014/03/23(日) 20:59:53.06ID:IwD5u7Na >>611
64以下のはMSDNとかにも記載があるけど他は…と思ったら
> natType の意味は、Microsoft Win32R アプリケーション プログラミング インターフェイスの MessageBox 関数で指定するものと同じです。
ちゃんとscript56.chmにも記載があったのね…見落としてたわ
64以下のはMSDNとかにも記載があるけど他は…と思ったら
> natType の意味は、Microsoft Win32R アプリケーション プログラミング インターフェイスの MessageBox 関数で指定するものと同じです。
ちゃんとscript56.chmにも記載があったのね…見落としてたわ
613名無し~3.EXE
2014/03/27(木) 04:31:30.42ID:2jCw5Ktt ScriptFormをダウンロードできるサイト知りませんか?
誰かアプロダにでも上げてもらえないでしょうか
誰かアプロダにでも上げてもらえないでしょうか
614名無し~3.EXE
2014/03/28(金) 01:33:53.75ID:61c3+d+I ググってもなんとか見つかるぞ
使い方:ttp://homepage2.nifty.com/pasocon/tanken/form.html
同梱してる事の確認:ttp://park15.wakwak.com/~ironrose/personalize.html
同梱してる物の入手:ttp://park15.wakwak.com/~ironrose/details.html
使い方:ttp://homepage2.nifty.com/pasocon/tanken/form.html
同梱してる事の確認:ttp://park15.wakwak.com/~ironrose/personalize.html
同梱してる物の入手:ttp://park15.wakwak.com/~ironrose/details.html
616名無し~3.EXE
2014/03/31(月) 23:24:43.55ID:cttL3XFr IE11でbusyとReadyStateがサポートされなくなったらしいですけどうすればいいですか?
よく使われてる以下のようなWaitLoad関数が駄目になって困ってます
環境はWin8.1、IE11です
よく使われてる以下のようなWaitLoad関数が駄目になって困ってます
環境はWin8.1、IE11です
617名無し~3.EXE
2014/03/31(月) 23:25:59.99ID:cttL3XFr //グーグルとこのスレ繰り返し開くだけのJSスクリプトです。
//1回目のループは上手く行くのに2回目のグーグルを開いた時に止まってしまいます。
var IE = WScript.CreateObject("InternetExplorer.Application");
IE.Visible = true;
for(;;){//終了処理なしです
IE.Navigate("https://www.google.co.jp/");
WaitLoad();//2回目のここで止まる
IE.Navigate("http://toro.2ch.net/test/read.cgi/win/1292764835/");
WaitLoad();
}
function WaitLoad() {
var stat, dstart;
stat = 0;
while(true)
if(stat == 0) {
if(!IE.Busy)
if(IE.Document.readyState == "complete") {
dstart = (new Date()).getTime();
stat = 1;
}
}
else {
if(!IE.Busy &&
IE.Document.readyState == "complete") {
if((new Date()).getTime() >= dstart + 1000)//止まった時にブラウザを落とすとこの行でエラーになってる
break;
}
else
stat = 0;
}
}
//1回目のループは上手く行くのに2回目のグーグルを開いた時に止まってしまいます。
var IE = WScript.CreateObject("InternetExplorer.Application");
IE.Visible = true;
for(;;){//終了処理なしです
IE.Navigate("https://www.google.co.jp/");
WaitLoad();//2回目のここで止まる
IE.Navigate("http://toro.2ch.net/test/read.cgi/win/1292764835/");
WaitLoad();
}
function WaitLoad() {
var stat, dstart;
stat = 0;
while(true)
if(stat == 0) {
if(!IE.Busy)
if(IE.Document.readyState == "complete") {
dstart = (new Date()).getTime();
stat = 1;
}
}
else {
if(!IE.Busy &&
IE.Document.readyState == "complete") {
if((new Date()).getTime() >= dstart + 1000)//止まった時にブラウザを落とすとこの行でエラーになってる
break;
}
else
stat = 0;
}
}
618名無し~3.EXE
2014/04/01(火) 02:23:12.74ID:QoieXD0A デバッグしろと?
619名無し~3.EXE
2014/04/01(火) 15:22:55.15ID:KGWb56X2 下のはWin8.1、IE11の32/64bit両方で動いたよ
var IE = WScript.CreateObject('InternetExplorer.Application');
IE.Visible = true;
for (;;) {
IE.Navigate('https://www.google.co.jp/');
wait(IE);
IE.Navigate('http://toro.2ch.net/test/read.cgi/win/1292764835/');
wait(IE);
}
function wait(IE) {
WScript.Sleep(100);
while (IE.busy) WScript.Sleep(100);
while (IE.document.readyState !== 'complete') WScript.Sleep(100);
}
var IE = WScript.CreateObject('InternetExplorer.Application');
IE.Visible = true;
for (;;) {
IE.Navigate('https://www.google.co.jp/');
wait(IE);
IE.Navigate('http://toro.2ch.net/test/read.cgi/win/1292764835/');
wait(IE);
}
function wait(IE) {
WScript.Sleep(100);
while (IE.busy) WScript.Sleep(100);
while (IE.document.readyState !== 'complete') WScript.Sleep(100);
}
620名無し~3.EXE
2014/04/01(火) 20:20:02.45ID:yNr0R4Jw >>619
ありがとうございます。動きました。使わせてもらいます。
ただWScript.Sleep(100);の部分が短すぎるので
1000にしたところ上記と同じように止まってしまうのが不可解です
あと記載を忘れてましたがOSとIE11はインストールしたばかりで設定をいじってません
IE11でbusyとReadyStateがサポートされてない件は他の方も困ってるみたいです
http://www.moug.net/faq/viewtopic.php?t=67866
http://www.moug.net/faq/viewtopic.php?t=67282
http://d.hatena.ne.jp/O_Kohsuke/20131103/1383476948
ありがとうございます。動きました。使わせてもらいます。
ただWScript.Sleep(100);の部分が短すぎるので
1000にしたところ上記と同じように止まってしまうのが不可解です
あと記載を忘れてましたがOSとIE11はインストールしたばかりで設定をいじってません
IE11でbusyとReadyStateがサポートされてない件は他の方も困ってるみたいです
http://www.moug.net/faq/viewtopic.php?t=67866
http://www.moug.net/faq/viewtopic.php?t=67282
http://d.hatena.ne.jp/O_Kohsuke/20131103/1383476948
621名無し~3.EXE
2014/04/01(火) 21:10:26.71ID:yNr0R4Jw もう一つ、上記サイトに言及のある拡張保護モードか、保護モードを無効にしても同じ所で止まります
622名無し~3.EXE
2014/04/01(火) 21:35:14.14ID:2YVuc9Gt623名無し~3.EXE
2014/04/02(水) 03:59:22.30ID:PW6w/sWY 使ってる奴が居る以上誰得って言い方で切り捨ては出来ねぇと思うけどなぁ…
624名無し~3.EXE
2014/04/08(火) 23:52:31.58ID:D4TzPxaZ windows7に移行したら、XPで動いてたvbsがうまく動かない
具体的には
・msgboxが最前に出てこなくなった
・Appactivateの効きが悪い気がする
なんか対策ありませんでしょうか
具体的には
・msgboxが最前に出てこなくなった
・Appactivateの効きが悪い気がする
なんか対策ありませんでしょうか
625名無し~3.EXE
2014/04/09(水) 02:06:18.35ID:IEtgoGKr626名無し~3.EXE
2014/04/09(水) 21:42:25.69ID:MDutfYCP ありがとうございます。なんかいろいろできるんですね
もう少し研究してみます
win7もIE9もキライ
もう少し研究してみます
win7もIE9もキライ
628名無し~3.EXE
2014/04/11(金) 06:18:12.18ID:iUTXG8Bc まぁwsh窓際だからね・・・
629名無し~3.EXE
2014/04/19(土) 10:17:00.95ID:oDZvbVi3 wsh/jscript/win7SP1-64bit
で、普通の機動、または休止状態からの機動、またはスリープからの機動を判別するサンプルプログラムはありますか?
やりたいことは、PCの上記の機動時に、ブルーデーディスクの残りHDD容量の推定値を表示できればいいかなぁと。
各曜日のディスク使用推定量は自分で入力するとして。
で、普通の機動、または休止状態からの機動、またはスリープからの機動を判別するサンプルプログラムはありますか?
やりたいことは、PCの上記の機動時に、ブルーデーディスクの残りHDD容量の推定値を表示できればいいかなぁと。
各曜日のディスク使用推定量は自分で入力するとして。
630名無し~3.EXE
2014/04/19(土) 16:12:52.50ID:qTxSEapj ブルーデーでググってみてごらん
631名無し~3.EXE
2014/04/19(土) 16:29:55.53ID:C0hSChOr 普通の機動、または休止状態からの機動、またはスリープからの機動
にクスっときた
にクスっときた
632名無し~3.EXE
2014/04/19(土) 17:12:47.57ID:D/gd45tC WSH全然関係ないけどタスクスケジューラで
USBデバイスからの復帰をトリガーとして起動するタスクなんてものもあるけどな
USBデバイスからの復帰をトリガーとして起動するタスクなんてものもあるけどな
633名無し~3.EXE
2014/04/28(月) 10:40:52.56ID:DICVXVj1 DOSバッチまたはWSHでメインフレームのSYSINデータセットみたいなことできませんか?
SYSINにVBScriptのソースを書いて、cscriptでそれを実行するとか、
SYSINにFTPのコマンドを書いて、FTP.exeに読ませるとか、
SYSINに適当な入力データを書いて、SYSINをtextファイルとして読み込むようなことをしたい。
SYSIN部分を別ファイルにすれば可能ですが、1個のファイルにしたくて。
ファイルのイメージ
---------- test.bat or test.vbs -------------
//SYSIN DD *
適当な入力データ
//
DOS/VBScriptのコマンドを書いてSYSINをtextファイルとして読み込む
---------- test.bat or test.vbs -------------
SYSINにVBScriptのソースを書いて、cscriptでそれを実行するとか、
SYSINにFTPのコマンドを書いて、FTP.exeに読ませるとか、
SYSINに適当な入力データを書いて、SYSINをtextファイルとして読み込むようなことをしたい。
SYSIN部分を別ファイルにすれば可能ですが、1個のファイルにしたくて。
ファイルのイメージ
---------- test.bat or test.vbs -------------
//SYSIN DD *
適当な入力データ
//
DOS/VBScriptのコマンドを書いてSYSINをtextファイルとして読み込む
---------- test.bat or test.vbs -------------
634名無し~3.EXE
2014/04/28(月) 13:00:04.87ID:ev/jr+Zm >633
WSHなら WScript.StdIn を使えばいいと思う
WSHなら WScript.StdIn を使えばいいと思う
635名無し~3.EXE
2014/04/29(火) 03:39:47.60ID:8ypvRdMf >>633
意識しないでデータを読みこむのは無理だと思うので、データ部分はコメント扱いされて実行されないようにしといて、
データを読み込むプロシージャを作成すれば良いんじゃないかな
【例】 batの場合はデータ部分を読み飛ばして、for文でデータを読み込む
@goto :proc
//SYSIN DD *
適当な入力データ
//
:proc
@echo off
for /f "skip=2 tokens=*" %%i in (%~f0) do (
set data=%%i
if "%%i" equ "//" goto :eof
call :output
)
goto :eof
:output
echo %data%
goto :eof
【例2】 jscriptの場合
if (0)
//SYSIN DD *
適当な入力データ
//
@end
処理スクリプト
【例3】 vbscriptの場合
jscriptの@if、@endの替わりにif false then、end ifを使う
意識しないでデータを読みこむのは無理だと思うので、データ部分はコメント扱いされて実行されないようにしといて、
データを読み込むプロシージャを作成すれば良いんじゃないかな
【例】 batの場合はデータ部分を読み飛ばして、for文でデータを読み込む
@goto :proc
//SYSIN DD *
適当な入力データ
//
:proc
@echo off
for /f "skip=2 tokens=*" %%i in (%~f0) do (
set data=%%i
if "%%i" equ "//" goto :eof
call :output
)
goto :eof
:output
echo %data%
goto :eof
【例2】 jscriptの場合
if (0)
//SYSIN DD *
適当な入力データ
//
@end
処理スクリプト
【例3】 vbscriptの場合
jscriptの@if、@endの替わりにif false then、end ifを使う
636名無し~3.EXE
2014/04/29(火) 13:38:55.32ID:rabqrtPg637名無し~3.EXE
2014/04/29(火) 21:41:23.74ID:+pl4bZp4 >>634-636
Thanksです。
バッチとかスクリプトのファイルの中に、入力データを書きたかったのです。
数文字程度なら、バッチの環境変数で渡すて出来そうですが、
複数行の文章だとどうしても出来なくて。
昔仕事でやってたM/FのJCL文はそういうことができててよかったなあと。
resourceが一番自分の思ってるに近そうです。
Thanksです。
バッチとかスクリプトのファイルの中に、入力データを書きたかったのです。
数文字程度なら、バッチの環境変数で渡すて出来そうですが、
複数行の文章だとどうしても出来なくて。
昔仕事でやってたM/FのJCL文はそういうことができててよかったなあと。
resourceが一番自分の思ってるに近そうです。
638名無し~3.EXE
2014/04/29(火) 23:22:16.38ID:gKZrgnV9 JScriptだと(function(){/*〜〜〜〜*/}).toString();で楽にヒアドキュメントモドキができるんだけどね。
640名無し~3.EXE
2014/05/17(土) 18:50:28.98ID:ftkNQf89 //SYSIN DD *
641名無し~3.EXE
2014/05/24(土) 10:06:34.87ID:4leeigTu WSHで画面のバックライトを消す方法ってありますか?
その手のツールやWin32APIを叩ける処理系使えば
できるのですがWin標準機能で出来る方法があれば・・・
その手のツールやWin32APIを叩ける処理系使えば
できるのですがWin標準機能で出来る方法があれば・・・
642名無し~3.EXE
2014/05/24(土) 10:23:35.39ID:uPytOxyo >641
↓この1行でWindows標準のブランクスクリーンセーバーを起動できるけど、これじゃダメかな?
CreateObject("WScript.Shell").Run "C:\Windows\System32\scrnsave.scr"
↓この1行でWindows標準のブランクスクリーンセーバーを起動できるけど、これじゃダメかな?
CreateObject("WScript.Shell").Run "C:\Windows\System32\scrnsave.scr"
643名無し~3.EXE
2014/05/29(木) 07:27:28.06ID:8DqbD5RS スクリーンセイバーでは、画面は暗く出来てもバックライトは消えないでしょ
つまり、消費電力低下もバックライト寿命延長も望めない
「画面を暗く」とかではなく、わざわざ「バックライトを」と言ってるって事は、そういうのが目的だと思われ
つまり、消費電力低下もバックライト寿命延長も望めない
「画面を暗く」とかではなく、わざわざ「バックライトを」と言ってるって事は、そういうのが目的だと思われ
644名無し~3.EXE
2014/05/29(木) 20:15:23.71ID:mpz900sV ついでに細かいことを言うと、液晶モニタでは黒画面にすると
消費電力が増える場合がある。
ttp://www.itmedia.co.jp/pcuser/articles/1105/25/news001.html
ttp://www.excite.co.jp/News/bit/E1238429157129.html
消費電力が増える場合がある。
ttp://www.itmedia.co.jp/pcuser/articles/1105/25/news001.html
ttp://www.excite.co.jp/News/bit/E1238429157129.html
645名無し~3.EXE
2014/07/03(木) 14:13:08.65ID:puDVYchs wsh cscript ってみんな使っているの?
どうもとっつきにくい
原因の一つは、予約語の長ったらしさと別ワールド感にあるような気がする。
バッチでだめならrubyでやってしまうもんな
どうもとっつきにくい
原因の一つは、予約語の長ったらしさと別ワールド感にあるような気がする。
バッチでだめならrubyでやってしまうもんな
646名無し~3.EXE
2014/07/03(木) 15:15:13.58ID:jNTLinbp WSHは事実上のWindows標準機能になって十数年経つし、
昔のWin95やWinNT4.0でも修正せず正常に実行できるものを手軽に作れる。
(それに対してバッチファイルはWin9x系とWinNT系での違いが特に大きいから、環境変数%OS%の値が
"NT"か空欄かで処理を分岐させなければならない場合が少なくない)
そういう点で他のスクリプト言語より随分とっつきやすいと思うが
昔のWin95やWinNT4.0でも修正せず正常に実行できるものを手軽に作れる。
(それに対してバッチファイルはWin9x系とWinNT系での違いが特に大きいから、環境変数%OS%の値が
"NT"か空欄かで処理を分岐させなければならない場合が少なくない)
そういう点で他のスクリプト言語より随分とっつきやすいと思うが
647名無し~3.EXE
2014/07/04(金) 21:25:06.89ID:noH+Nmwl どのWinでも動くメリットは大きい。会社のPCでも気軽に使えるし
でもバイナリファイルの扱いに難があるのはしばしば困る
あとこれはWSHに限ったことではないけどRubyと比べるとコードが
冗長化しやすい
でもバイナリファイルの扱いに難があるのはしばしば困る
あとこれはWSHに限ったことではないけどRubyと比べるとコードが
冗長化しやすい
648名無し~3.EXE
2014/07/04(金) 21:43:53.99ID:t8oKZxzN バイナリファイルだって扱えないってわけじゃないし、それほど面倒lくさいってほどでもないと思う
649名無し~3.EXE
2014/07/04(金) 22:00:52.84ID:noH+Nmwl ADODB.Streamはアンチウィルスソフトが騒ぐから使いにくい
650名無し~3.EXE
2014/07/05(土) 04:26:07.22ID:X4/wk4Kp それは環境依存の問題だろw
環境依存の問題を、WSHの問題であるかのように言う奴はアフォ
全てのアンチウィルスソフトがADODB.Streamに反応するわけじゃないし
後から反応しないように設定できる場合も多いので
言ってしまえば「どのWinでも起きる問題じゃない」って話だ
環境依存の問題を、WSHの問題であるかのように言う奴はアフォ
全てのアンチウィルスソフトがADODB.Streamに反応するわけじゃないし
後から反応しないように設定できる場合も多いので
言ってしまえば「どのWinでも起きる問題じゃない」って話だ
651名無し~3.EXE
2014/07/05(土) 11:16:49.33ID:WBZ3i3eR AviraがADODB.Streamの実行を阻止するらしいが、他にもある?
652名無し~3.EXE
2014/07/05(土) 16:43:05.03ID:DkwampXl 自分にはアンチウィルスソフトに駆除される可能性があると判っているものを
配布することは出来ない。バイナリファイルを扱うコードに限ればどのWinでも
動くというメリットは存在しない
配布することは出来ない。バイナリファイルを扱うコードに限ればどのWinでも
動くというメリットは存在しない
653名無し~3.EXE
2014/07/05(土) 19:00:31.79ID:gjWeDij8 WSH以外でインストール不要、テキスト配布可能、バイナリ操作可能、x86/x64環境対応、を満たすのは
.NET Frameworkに含まれるC#やJScript.NETコンパイラ使うバッチファイル位しか実用的な選択肢がない。
ADODB.Streamの利用だけでウィルス扱いするクソアンチウィルスなんて所詮その程度のゴミ。
ADODB.Streamを難読化してアンチウィルスの検出回避してるコードとか見たことあるけど、
適当に回避仕込んで後は「アンチウィルスに排除されたらそのゴミを恨め」とでも言っとけばいい。
バイナリ配布使用が何しようが、どーせ巻き込まれるときは巻き込まれて機能不全起こすんだし。
一々ソース生成してコンパイルしたりインタプリタのインストールを要求するよりはWSH使ったほうが楽。
//つか配布して使わせるって前提ではRubyはnode.jsにすら劣る気が…
.NET Frameworkに含まれるC#やJScript.NETコンパイラ使うバッチファイル位しか実用的な選択肢がない。
ADODB.Streamの利用だけでウィルス扱いするクソアンチウィルスなんて所詮その程度のゴミ。
ADODB.Streamを難読化してアンチウィルスの検出回避してるコードとか見たことあるけど、
適当に回避仕込んで後は「アンチウィルスに排除されたらそのゴミを恨め」とでも言っとけばいい。
バイナリ配布使用が何しようが、どーせ巻き込まれるときは巻き込まれて機能不全起こすんだし。
一々ソース生成してコンパイルしたりインタプリタのインストールを要求するよりはWSH使ったほうが楽。
//つか配布して使わせるって前提ではRubyはnode.jsにすら劣る気が…
654名無し~3.EXE
2014/07/05(土) 19:08:48.87ID:WBZ3i3eR ウィルス対策ソフトでは大抵除外指定できるもんなんだがAviraはそういう機能ないのか?
もしあるならreadmeで除外指定の説明しとけば十分なんだけどね
もしあるならreadmeで除外指定の説明しとけば十分なんだけどね
655名無し~3.EXE
2014/07/06(日) 04:11:44.89ID:wAzKXrbd Rubyコードを配布するならインタプリタを同梱すれば良いだけでは
インタプリタをインストールする必要はない。exerbみたいにPEに
パックするツールもあることだし。難点を挙げるとすればでかいこと
くらいか。PythonやJavaなんかでも似たような手法があるな
WSHは社内利用でアプリの持ち込みが難しいく、誤爆しないことが
確認できている場合なんかには使うな
インタプリタをインストールする必要はない。exerbみたいにPEに
パックするツールもあることだし。難点を挙げるとすればでかいこと
くらいか。PythonやJavaなんかでも似たような手法があるな
WSHは社内利用でアプリの持ち込みが難しいく、誤爆しないことが
確認できている場合なんかには使うな
656名無し~3.EXE
2014/07/06(日) 05:38:19.38ID:EYy1DF2z インタプリタの同梱はライセンス的に面倒くさいが、
Rubyとか単体インタプリタが公式から落とせないんだよなぁ…
node.jsでさえ公式が配布してるnode.exeがあれば最低限は動くってのに。
PE化ツールはスクリプト言語としての利点が大きく減るので論外かな。
主観も入ってるがWindowsでツール作って配布したりするのにRubyは向いてなさすぎ。
つかなんでRuby押しな人がWSHスレに来てんだよ…スレチだろそんなん。
Rubyとか単体インタプリタが公式から落とせないんだよなぁ…
node.jsでさえ公式が配布してるnode.exeがあれば最低限は動くってのに。
PE化ツールはスクリプト言語としての利点が大きく減るので論外かな。
主観も入ってるがWindowsでツール作って配布したりするのにRubyは向いてなさすぎ。
つかなんでRuby押しな人がWSHスレに来てんだよ…スレチだろそんなん。
657名無し~3.EXE
2014/07/09(水) 16:44:30.12ID:3YYdz9Xv AviraでADODB.Streamの実験をしてみた
結論として
var strm = new ActiveXObject("ADODB.Stream");
var adTypeBinary = 1;
var adSaveCreateOverWrite = 2;
この3行が全部存在したら弾かれる
実際に使うかどうかは関係なく、ADODB.Stream、adTypeBinary、adSaveCreateOverWriteの文字列が存在してたらアウト
(adTypeText、adSaveCreateNotExistは問題ない)
このうちどれか1つでも無くせば通る
strm.Type = 1;
と書けば通るなんて意味ない
こんなん何のプロテクトにもなってなくてちゃんと書こうとしている正常なスクリプトだけが被害を被るだけじゃん
あと、scanの除外の指定は簡単にできるのでそっちでファイルやフォルダを指定しとく手もある
結論として
var strm = new ActiveXObject("ADODB.Stream");
var adTypeBinary = 1;
var adSaveCreateOverWrite = 2;
この3行が全部存在したら弾かれる
実際に使うかどうかは関係なく、ADODB.Stream、adTypeBinary、adSaveCreateOverWriteの文字列が存在してたらアウト
(adTypeText、adSaveCreateNotExistは問題ない)
このうちどれか1つでも無くせば通る
strm.Type = 1;
と書けば通るなんて意味ない
こんなん何のプロテクトにもなってなくてちゃんと書こうとしている正常なスクリプトだけが被害を被るだけじゃん
あと、scanの除外の指定は簡単にできるのでそっちでファイルやフォルダを指定しとく手もある
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】トランプ氏表明、米国の仲介でインドとパキスタン即時停戦に合意 [蚤の市★]
- 「大人はなぜ化粧しないといけないの?」戸惑う高校生女子「強制されない社会に」 ★2 [ぐれ★]
- 【文春】永野芽郁(25)&田中圭(40)燃え上がる不倫LINE ★39 [Ailuropoda melanoleuca★]
- 【文春】永野芽郁(25)&田中圭(40)燃え上がる不倫LINE ★40 [Ailuropoda melanoleuca★]
- 増える単身世帯、自宅で白骨化、引き取り手もなく…孤立死2万人時代に問われる最期の迎え方… [BFU★]
- 【福岡】「うるさいから捕まえようと」パトカーから逃走中の2人乗りバイクに車で追突させた男(21)を逮捕 [おっさん友の会★]
- 【実況】博衣こよりのえちえちときメモ🧪 ★4
- ▶なぜぺこらは金ダツラから逃げてファイアレッドやってるのか
- 【石破朗報】高強度ランニングをやらせると脳が壊れ「苦しい」という感情を喪失、無事うつ病も完治😨 [249548894]
- 【動画】新宿駅でベロチュー手コキ [786835273]
- こんな時間に田んぼで踊ってるヤツ何なの?
- 【朗報】ケンモメン、95%オフで9260円だった腕時計を買ってしまう [483968347]