[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 06/19 21:21 / Filesize : 94 KB / Number-of Response : 410
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

WSH(・∀・)スレッド! Part 3



1 名前:デフォルトの名無しさん [2008/04/23(水) 20:00:50 ]
( ´ゝ`) 誰か詳しい情報キボンヌ

●過去スレ
WSH(・∀・)スレッド!
pc11.2ch.net/test/read.cgi/tech/1055075469/
WSH(・∀・)スレッド! Part 2
pc11.2ch.net/test/read.cgi/tech/1176698934/

●関連スレ
お前ら、wsh使ってますか? Part7
pc11.2ch.net/test/read.cgi/win/1190548945/
HTAをもっと流行らせる計画
pc11.2ch.net/test/read.cgi/tech/1124559962/
★WSHでCGI★JScriptVBScript
pc11.2ch.net/test/read.cgi/php/1059745064/

●公式サイト
Windows Script
www.microsoft.com/japan/msdn/scripting/

●個人サイト
Windows Scripting Host
homepage3.nifty.com/aya_js/wsh/index.htm
Windows Scripting Host Laboratory
www.roy.hi-ho.ne.jp/mutaguchi/wsh/
Windows Script Wiki
winscript.s41.xrea.com/wiki/index.php

83 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 06:53:26 ]
wshでSQLServer2000と2005のテーブルの内容を取得するのはどうやるんですか?
なるべく高速な方法が良いです。
更新はしないのでSELECTが出来ればいいです。

84 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 08:19:08 ]
>>83
ADOを使う
ADODB.Connection とかのキーワードでぐぐってみれ

85 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 23:10:26 ]
vbsで、
TEST_PATHに"C:\TEST\*.txt"を入れて以下のように
動かしたら"C:\TEST\*.txtt"ファイルのようなものまで
消えてしまいました。
ワイルドカードを使用して、拡張子txtのみを削除する
方法は無いのでしょうか?

objFSO.DeleteFile TEST_PATH

86 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 23:29:46 ]
>>84
Thanks!

87 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 00:27:05 ]
>>85
たぶんないと思う。

自分でファイルのリストを取得してから通常の文字列マッチング
で絞り込むくらいしか思い浮かばない。


88 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 01:00:09 ]
>>85
ひどい仕様だな

89 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 03:25:01 ]
NTFSならレジストリで8.3ファイル名の記録をオフにすれば
そういう挙動が起きなくなるとどこかで見た気がする。

90 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 05:03:36 ]
Dim arr()
msgbox Ubound(arr) 'error
ReDim arr(9)

Redimをする前に、arrに値が入っているか
どうかを調べる方法はないでしょうか?

Redimをする前に、Ubound()で調べようとすると
エラー「インデックスが有効範囲にありません」
となります。


91 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 13:39:45 ]
if err.description="インデックスが有効範囲にありません" then



92 名前:90 mailto:sage [2008/06/12(木) 18:41:03 ]
>>91を参考にして下記でできました。ありがとうございます。

on error Resume Next
WScript.Arguments.Item(0)
if Err.Number <> 0 then msgbox "引数無し"
Err.clear
on error goto 0

93 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 22:36:39 ]
if WScript.Arguments.Count = 0 then msgbox "引数無し"

94 名前:90 mailto:sage [2008/06/13(金) 01:51:11 ]
>>93 私なりにやったのですが、そのようなコードを書けなかった
です。ありがとうございます。

95 名前:デフォルトの名無しさん [2008/06/17(火) 22:24:32 ]
VBScriptを使って、HTTPステータスコードを取得する方法を探しています。
ある任意のWeb画面に対してスクリプトでリクエストを行い、HTTPステータスコード(200 ok 等)を
取得する方法はありますでしょうか。
どなたかご存知の方がいらっしゃいましたら、ご教授下さい。

96 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:46:00 ]
>>95
まかせろ!
検索してやった!

ttp://oshiete1.watch.impress.co.jp/qa4108450.html

97 名前:>>95 [2008/06/17(火) 22:52:20 ]
>>96
検索ありがとうございます。

確認してみたんですが、この先に紹介してあるサイトはVB?でしょうか。
どうもVBScriptに応用する方法が分かりません。



98 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:09:41 ]
>>97
・・・まーいーや。

Microsoft.XMLHTTP とかの status プロパティ使えばできるでしょ。

99 名前:>>95 [2008/06/18(水) 06:54:28 ]
>>98
有難う御座いました。
勉強不足の為、すぐに理解できませんでしたが
きちんと出来ました。
助かりました。m(_ _)m

100 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 18:15:00 ]
処理1
msgbox "AAAA"
処理2


上記を実行し、ウィンドウンがでてきて、
OKボタンを押すと、処理2に移ります。

 OKボタンを押さずとも、処理2に移る方法が
ありませんか? Wait:=Falseみたいな事できま
せんか?

101 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 18:45:56 ]
.run "msgbox.vbs"



102 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 22:03:00 ]
WSHはマルチスレッドじゃないからね
1プロセス1スレッドで、書かれたことを"順次"実行していくだけで
Megboxを出した状態で他の処理もするなどの"同時"実行は出来ない
やりたければ>>101も書いてるように別プロセスに非同期でMegboxを出させるしか無い

103 名前:100 mailto:sage [2008/06/27(金) 12:25:19 ]
>>101 それにします。ありがとうございます。
>>102 マルチスレッドの事はわかりませんが、
「同時にできない」という事だけは覚えておきます。

104 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 12:37:02 ]
WSH5.8からは出来るようになるかも

105 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 15:11:17 ]
WSHってまだバージョンアップするの?

106 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 17:13:30 ]
WSHは滅びんよ、何度でも甦るさ

107 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 21:01:14 ]
PowerShell

108 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:10:47 ]
PSH

109 名前:デフォルトの名無しさん [2008/07/07(月) 23:08:32 ]
VBSで質問です。

hoge.txtが以下の形式であります。

--- hoge.txt --------

foo 001
bar 001

(文字列、ブランク、3桁の数字、改行)
みたいな感じ。

このテキストに記載された文字列と一致する文字列が引数だったら、
同じ文字列の行の数字を+1させたいんです。
たとえば、引数が「foo」だった場合、「foo 002」みたいにしたいんです。

こんな感じの特定行を抜き出してのファイルに記載された文字列の置き換えって出来るんでしょうか?

というか、どんな風に組めばいいか教えてください(泣)


110 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 00:55:20 ]

>>109
やりたいのって、マッチした文字列をカウントするようなこと?

ファイルの入出力がOKなら、
一行読んでは、Splitして、文字列と整数の構造体に
放り込む、を繰り返して一度全部構造体に入れる。
CLng CIntでもつかって後ろの要素は整数型変換すりゃいい。
使う構造体はハッシュ(Dictionary)でいいんじゃないかな。
マッチしたら、要素をインクリメント処理するを繰り返し、
終わったらJoinでもつかってファイルに書き出せば?

111 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 03:38:20 ]
毎回ファイル全体書き換えていいなら>>110

必要な場所だけ書き換えたいなら
最大999までっていう制限で良い場合は
R/Wでオープンしてseekして書き換え

必要な場所だけ書き換える方針で
最大いくつになるか分からない場合は
999超えたときに末尾に追加行を作って
999-追加なしなら999
999-000なら1000
999-001なら1001
という処理を入れれば良い




112 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 13:05:43 ]
COBOLer ですね わかります

113 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 17:00:48 ]
吉岡照雄って人のOnErrorResumeNext.VBSの解説テキスト読んでるんだけど(2)の後半がよくわからない
On Error GoTo 0で復帰しちゃったら何事もなく処理が再開されちゃうから
ンなもん実装すんなよ!、おまいらも使うなよ!
って言ってるのかしら

114 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 20:40:17 ]
>>92-93

115 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 05:33:05 ]
exceptionが無かった頃はそうするしかなかった
いまならtry-catchで済む話

116 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 13:04:13 ]
いまでもtry-catchつかえないよ

117 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 15:50:29 ]
.NETなら使える

118 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 17:37:06 ]
>>117
で?ややこしくならないようにまとめてくれ。

119 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 21:20:46 ]
まとめるとJScriptを使えばよい

120 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 21:27:22 ]
超シンプルなデータベースを作りたいと思っています
フォルダ内に100のテキストがあったとして その中に a="赤" とか
a="白"と書いてあり それを読み取り 最終的に割合を出すようにしたいのですが
いいサンプルなどないでしょうか?


121 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:05:46 ]
var fso = new ActiveXObject("Scripting.FileSystemObject");
var Shukei = {};
var Sum = 0;
// カレントフォルダの全ての *.txt ファイルの1行目を読み,Shukeiに集計する
var f = fso.GetFolder(".");
for (var fc = new Enumerator(f.Files); !fc.atEnd(); fc.moveNext()) {
    var file = fc.item();
    if (/\.txt$/.test(file.Name)) {
        var stream = file.OpenAsTextStream();
        var s = stream.ReadLine();
        stream.Close();
        eval(s);
        if (a in Shukei)
            Shukei[a]++;
        else
            Shukei[a] = 1;
        Sum++;
    }
}
// 結果表示
for (var i in Shukei)
    WScript.Echo(i + ": " + (100 * Shukei[i] / Sum) + "%");



122 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:16:21 ]
サンプルまで作ってもらってありがとうございます
行:1、文字:28、コード:800A0401、ソース:Micosoft VBScriptコンパイルエラー
これがでて試せないんですが何が問題なんでしょうか?

123 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:25:59 ]
>>122
拡張子は .js です

124 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:30:24 ]
ありがとうございます vbsだけじゃなくて jsもつかえるんですね


125 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 22:32:25 ]
JScriptだから

126 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 23:56:31 ]
>>113
On Error Goto ErrLabel
エラー
ErrLabel:
msgbox "キャッチ"

これをやってみたけど、ダメだった。VBAならできた。

127 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 15:32:51 ]
helpよめ

128 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 13:00:54 ]
パスワード入力の時どうしてる?

129 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 17:15:30 ]
バッチとか、シェルとかPHPしか経験無いんですが、
Wshってマスターするのに、どのくらいの時間が掛かりますか?

130 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 17:29:40 ]
マスターってなんだよ
と、突っ込まざるを得ない

131 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 17:43:18 ]
プログラミング言語をマスターしようといっている時点で終わってる。



132 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 17:47:23 ]
ライブラリの仕様とか、用意されてるものとか、その開発環境で実現できることが
さっと頭に浮かぶほうが、「マスターした」に近いよね。

133 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 17:49:39 ]
しかも聞いてるのが時間って・・・

134 名前:129 mailto:sage [2008/07/13(日) 19:33:27 ]
>>132
そういうことですね。
ある程度バッチで出来ちゃうから
なかなかwshやろうと思わないんだよね

135 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 19:59:02 ]
まぁ、WSHはCOM使うのが得意で、VBかJSで書きますってだけで、
そのCOMと同じ機能を持ったCLIプログラムが最初から用意されて、
それに精通しているなら、それらを組み合わせてバッチでやろうと思うよね。

でもWSHのほうが、多少細かいハンドルできるから、覚えたいという気持ちはわかる。
ちょっとしたファイルの入出力とか、シェル周り、FileSystemObject周りは便利。

136 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 20:36:51 ]
シェル周り便利なの?

137 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 20:48:06 ]
>>136
FSOで一通りのファイル操作はできるし、それ以外はShell.Runとかでいいからという発想での話。

138 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 20:51:41 ]
コマンドプロンプトが一瞬表示されてしまうと嫌がられる

139 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 20:57:08 ]
>>138
runの第二引数に0じゃだめだっけ?

140 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 09:18:44 ]
>>135
VB≠VBS

141 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 09:33:15 ]
>>140
どゆこと?



142 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 21:05:26 ]
>>141
VBSはVBライクで、VBとは違うって言いたいだけなのかな?

143 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 22:35:20 ]
WSH スレに VB はいらんでしょ

ってことじゃないかな。

まあ、>>135 の勘違いか typo なんだろうけど、ちいせい奴としか思えない >>140

144 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 22:54:40 ]
>>128
htmlでフォームを作って、パスワード入力欄に入力してもらう。
Enterを押したら、submitボタンが反応して、ページを読み込もうとするから、それを検出して・・・

って、もっといい方法があると思う

>>138
表示されないようにコマンドから返ってくる文字列を取得する
妙に複雑なコードを見たことがあるな

145 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 23:24:12 ]
>>138
タスク
WScript.exe //E:JScript hoge.CMD

hoge.CMD
@if(0==0)WScript.Quit(new ActiveXObject('WScript.Shell').Run('"'+WScript.ScriptFullName+'"',0,true));@else
REM バッチファイルだよーん
:@end


146 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 23:31:47 ]
>>128
Hey, Scripting Guy!
www.microsoft.com/japan/technet/scriptcenter/resources/qanda/feb05/hey0204.mspx


147 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 17:30:06 ]
VBScriptを書く時、みなさんは、どんなエディターを
使っていますか?

148 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 21:20:28 ]
Excel

149 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 21:45:51 ]
男は黙ってメモ帳。

150 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 21:53:42 ]
男じゃない場合↓

151 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 22:04:04 ]
Microsoft Visual Web Developer 2008 Express Edition



152 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 22:11:39 ]
サクラ

153 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 01:35:27 ]
コントロールパネルの「コンポーネントの追加と削除」一覧と
インストールの状態の有無を出力したいと考えているのですが
WSHやWMIで可能でしょうか?

154 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 13:07:01 ]
まぁ、レジストリ管理されてるものっぽいし、
レジストリ操作か、WMIでかのうじゃないの?

155 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 17:06:08 ]
でもまあ、具体的なやり方は自分で調べろってことで

156 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 17:57:35 ]
www.microsoft.com/japan/technet/scriptcenter/scripts/apps/user/usapvb07.mspx

157 名前:マイク ◆yrBrqfF1Ew mailto:sage [2008/07/19(土) 07:10:06 ]
>>147
ずっとterapadを使ってる。
テキストファイルはほとんどterapadとxyzzyとnotepadで開いてる。

158 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 01:06:42 ]
フォーカスされたチェックボックスをオンに
する方法がありますか? お願いします。

obj.SendKeys " "
上記でスペースを押せば、オンオフが切り替わります。
しかし、切り替えたいのでなくて、オンにしたいのです。

159 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 02:57:56 ]
どんな状況で、何をやっているのか想像つかね。

160 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 14:27:59 ]
obj.SendKeys "On"


161 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 17:58:33 ]
>>160
つまらん。



162 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 01:56:06 ]
シリアルポートに文字出力して、その応答を受け取るにはどうすれば
出力だけならCreateTextFile → WriteLineでできたっぽいですが、ReadLineすると怒られます

163 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 23:30:55 ]
>>162
できたって、え?

164 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 05:08:00 ]
指定位置、指定サイズ、指定表示状態(アイコン、詳細表示など)でフォルダウィンドウ(エクスプローラー)を起動できちゃったりしますか?


165 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 08:44:21 ]
出来ちゃいますよ
アレ使えば

166 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 15:17:40 ]
Shell.Explorer
System.Object
など、使い道が無さそうなProgIDがレジストリにいっぱいあるのはなぜ?


167 名前:デフォルトの名無しさん [2008/07/24(木) 18:35:25 BE:555198645-2BP(802)]
>>165
ヤダァ♪
もう、えっちぃ♥

168 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 23:48:00 ]
COmってリファレンスないもの、多いよな

169 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 00:08:03 ]
アレってなあに?

170 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 00:12:34 ]
>>166
System.Objectは.NET Frameworkのもの。
確かにWSH (COM)ではこれだけあっても役立つとは思えないけど。

171 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 16:23:19 ]
set x=createobject("explorer.application")
x.top=100
x.left=100
x.visible=true
だろ



172 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 22:07:11 ]
実行したら

ActiveXコンポーネントはオブジェクトを作成できません:'explorer.application'

って出た

173 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 00:24:26 ]
C08AFD90-F2A1-11D1-8455-00A0C91F3880
にprogidを登録しろ


174 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 00:27:13 ]
internetをつけてみろ

175 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 00:32:51 ]
それだとIEになるぞなもし

176 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 15:29:30 ]
レジストリに
C08AFD90-F2A1-11D1-8455-00A0C91F3880
がないのに、使えるのはなぜ?

177 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 17:16:08 ]
なぜWSHでwindowsを終了させられないのですか?

178 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 21:00:13 ]
WSHスクリプトを起動するより、電源ボタンを押すほうが簡単だからかも?

179 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 21:05:03 ]
>>177
出来るけど、なにか?

180 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 23:21:04 ]
WMI使ってできるよねぇ。

181 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 23:50:19 ]
WScript.Echo("電源ボタンを押してください");



182 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 19:35:52 ]
createobject("shell.application").shutdown

183 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 10:37:00 ]
フォームの自動入力させているんだけど、
IEじゃなくて、IEコンポーネントつかったブラウザとかソフトに入力する方法って無いですかね。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<94KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef