1 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 01:22:48 ] ( ´ゝ`) 誰か詳しい情報キボンヌ ●過去スレ WSH(・∀・)スレッド! pc11.2ch.net/test/read.cgi/tech/1055075469/ WSH(・∀・)スレッド! Part 2 pc11.2ch.net/test/read.cgi/tech/1176698934/ WSH(・∀・)スレッド! Part 3 pc12.2ch.net/test/read.cgi/tech/1208948450/ ●関連スレ お前ら、wsh使ってますか? Part7 pc12.2ch.net/test/read.cgi/win/1190548945/ HTAをもっと流行らせる計画 Part2 pc12.2ch.net/test/read.cgi/tech/1220874815/ ★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
152 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 21:37:40 ] すみません detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=1131686451 この答えを教えていただけないでしょうか よろしくお願いします
153 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 22:32:38 ] >>152 取得順はソートされない(詳細はFATやNTFSの構造の話になるので省略する) 取得したデータを自前でソートしろ
154 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 22:50:19 ] >>152 自前ソートが面倒であれば以下のとちらかで手抜きしろ ・ソート指定したdirコマンドの結果を使う ・basp21のReadDirを利用する
155 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:01:18 ] >>153-154 ソートするには取得してからでないとダメということですね ありがとうございます 取得するフォルダの順番というものは決まっているのでしょうか? 対象のフォルダに 20090101 20090102 20090201 20090202 とこのような感じでサブフォルダがありまして フォルダが読み込まれる順番を調べているのですが どうも情報がうまくさがせないものでして echoなどで出しておりますとおそらく昇順だとは思うのですが 明示的にできないか・もしくは昇順であることを裏付ける何かがないかと思いまして
156 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:12:55 ] ループの処理のあとにsleep10000くらい入れて 処理フォルダ見とけばいいんじゃない?
157 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:19:53 ] >>155 FATに関して言えば情報格納順であり ファイルやフォルダ削除/作成により順番が変わる NTFSについても確実に名称でソートされている訳ではない 環境依存にしたくなければソートしろ
158 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:24:42 ] >>156-157 ありがとうございます 複雑な内部の問題なんですね… ソートしてから使いチアと思います。 本当に助かりました
159 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:12:04 ] 横レスですが、 みなさんソートはどうしてますか? バブルソートが楽ですけど、量が増えると遅くて重くて。 エクスプローラがどんなに大量のファイルがあっても一瞬でソートできるように、 何か便利な方法ないでしょうか?
160 名前:159 mailto:sage [2009/10/13(火) 00:16:54 ] すんません、>>154 で出てた・・・
161 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 15:32:29 ] JSciptのArray.sort()でええ
162 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 15:41:58 ] CreateObject("System.Collections.SortedList")
163 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 18:16:19 ] >>21-25 keybd_eventでシフトキー押しながら invokeverb "delete" すればよいよ
164 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 21:10:28 ] 質問です vbsで特定ページのソースを取得し、X行目がYという内容と一致するかのチェックをするスクリプトを作りたいのですが ソース全体を出力する方法はobjIE.Document.Body.InnerHtmlでできるのは分かったんですが ソース全体の閲覧ではなくソースのX行目がYという文字列と一致するかどうかの分岐を作るのはどうすればいいのでしょうか?
165 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 21:42:02 ] >>164 ネタ? どこまで理解できていないのか読み取れない・・・ InStr系関数で改行コードをカウントしてX行目の開始/終了位置を取得 Mid系関数でX行目のデータを取得 If文で分岐 当然ループは使うぞ
166 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:00:09 ] >>165 分かりにくくてすみません >InStr系関数で改行コードをカウントしてX行目の開始/終了位置を取得 >Mid系関数でX行目のデータを取得 ここが分かりませんでした もう少し調べてみます
167 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:58:40 ] 俺ならXMLDOMで全体取ってから \nでsplitするかな。
168 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:21:37 ] StrBody = objIE.Document.Body.InnerHTML lntPos = InStr(1, StrBody, Chr(13), 1) これの戻り値がどうやっても0になってしまいます 対処法お願いします
169 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:46:51 ] Chr(13)?
170 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:54:55 ] >>169 段落コードのつもりなんですが
171 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:38:05 ] Chr(10)
172 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:26:14 ] 段落コード?
173 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 17:33:14 ] HTMLにおける「段落」をめぐって ttp://www.asahi-net.or.jp/~WQ6K-YN/para.html
174 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:32:24 ] ソース?
175 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 19:13:38 ] >>170 HTMLの段落はそっちでしたか InStrが返す値が明らかに存在する文字を検索しても0になってしまうのはStrBodyが長すぎるせいなのでしょうか? 長さ制限は無いはずだしStrBodyをためしにechoで出力してみたらちゃんと表示されてるのでStringは収納されてるはずなんですが >>167 ちょっとこちらも調べて見ます
176 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 21:58:26 ] >長すぎるせいなのでしょうか? それはない >InStrが返す値が明らかに存在する文字を検索しても0になってしまう それもない
177 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:21:28 ] >>176 無いはずなのは分かってるんですけどなぜかそうなってしまうんです ためしにVBで>>168 のIntPosをMsgBoxで出力しようとしてもなぜか0に
178 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 01:02:57 ] すみません IntPos = の部分がうまく変数として認識されていなかったのが問題だった見たいです 解決しました
179 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:02:37 ] 意味不明だが on error resume next でも使ってんのか?やめとけ option explicit は使っとけ
180 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 22:17:29 ] ttp://d.hatena.ne.jp/hasegawayosuke/20091028/p1
181 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 15:03:31 ] いみふ 結局使えないんだろ?
182 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 20:01:43 ] 以前は cscript //e:jscript - が使えたが
183 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:00:30 ] ? >cscript //e:jscript - WScript.Echo(WScript.Version); ^Z 5.7
184 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 15:42:09 ] >cscript //e:jscript - 入力エラー: スクリプト ファイル "-" が見つかりません。
185 名前:デフォルトの名無しさん mailto:sage [2009/11/25(水) 02:05:32 ] >cscript //e:jscript con WScript.Echo(WScript.Version); ^Z 5.7
186 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 12:03:39 ] レンホウ「こんなロボット作って、なんになるんです?」
187 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 18:04:00 ] ロボットになるんです
188 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 17:39:05 ] >cscript //e:jscript con CScript エラー: Windows Script Host の実行に失敗しました。 (この操作を完了するの に十分な記憶域がありません。 )
189 名前:デフォルトの名無しさん mailto:sage [2009/11/28(土) 19:47:24 ] 純粋なあの頃は仕事で追い詰められて自殺なんて都市伝説だと思ってたけど 今じゃ知り合いの失踪も自殺も体験した
190 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 10:59:46 ] 正規表現が文法的に正しいかどうかを判別する方法はありませんか 括弧が足りないとか教えてくれなくていい スクリプトが異常終了しないでtrueかfalseを返してくれればいい
191 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 18:48:37 ] try catch
192 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:26:27 ] >>191 駄目だった try {var re = /asd(fgh/;} catch(e){WScript.echo("error");}
193 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:36:59 ] RegExp.compile
194 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 19:58:42 ] >>192 RegExp
195 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 00:05:02 ] wshで var n=/a]b/; と打ったらエラーが出ませんでした。他の括弧ならエラーが出ます。 エスケープ無しの右かぎ括弧ってなにか特別な意味はありますか? この場合は、"a]bと続く三文字"と解釈して大丈夫なんですか?
196 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 14:20:01 ] ためせば?
197 名前:デフォルトの名無しさん [2009/12/13(日) 13:23:44 ] Excel2003と2010が共存している環境で WSHを使うことで両者を使い分けようとしています。 参考 : www.drk7.jp/MT/archives/001226.html RegRead("HKEY_CLASSES_ROOT\\CLSID\\{00024500-0000-0000-C000-000000000046}\\LocalServer32\\").replace(/ \/[^ \/]+/g, '') で、Excel 最新版(最後にインストールしたもの?)のパスは得られるのですが、古い方のパスを得られません。 何か良い方法はないでしょうか?
198 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 13:24:56 ] 今は決めうちで、「C:\Program Files\Microsoft Office\*\EXCEL.EXE」の * の部分を変えて存在確認をとって処理しています。 * の部分は、 Office2010 : office14 Office2007 : office12 Office2003 : office11 Office2002 : office10 Office2000 : office9 Office97 : office8 Office95 : office であっているでしょうか? よろしくお願いします。
199 名前:デフォルトの名無しさん mailto:sage [2009/12/13(日) 19:27:38 ] ttp://support.microsoft.com/kb/234788/ja
200 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 18:19:27 ] EXCEL.EXEを検索してFileVersionで判定すべき
201 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 00:00:12 ] Office2010ってもう発売されてるんだ.....
202 名前:デフォルトの名無しさん [2009/12/23(水) 14:44:53 ] さあ
203 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:50:06 ] office13は?
204 名前:デフォルトの名無しさん mailto:sage [2009/12/24(木) 09:35:19 ] スレちがい
205 名前:デフォルトの名無しさん [2010/01/13(水) 18:31:33 ] お願いだから教えてください。スレ違いかも知れないけどPower Shellスレないみたいだし・・ Windows Power Shell(2.0)でIEを起動してマウスクリックをエミュレートさせようとした場合、Win32API(mouse_event)を使うと思うんですが DllImport("usr32.dll",Charset=Charset.Auto)でCharset = ←の=の後がどうとかいって、実行できません。Charsetのくだりを全削除すると今度は予期しない属性と出てしまいます。 mouse_eventにこだわりはないんですが IEを立ち上げ マウスクリックをエミュレートする 処理を教えてください。APIなら宣言部もお願い;;
206 名前:デフォルトの名無しさん [2010/01/13(水) 18:37:51 ] 205ですけど 座標とかハードコーディングで大丈夫ですので肝を簡潔にお願い;;
207 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 23:40:26 ] スレちがい Windows PowerShell 2.0 Part2
208 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 00:07:23 ] 普通はDOM使うんじゃなかろうか、いや知らんけど
209 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 02:56:55 BE:1403990069-PLT(23400)] >>207 URLも貼ってあげなよ pc12.2ch.net/test/read.cgi/win/1261106064/
210 名前:デフォルトの名無しさん [2010/02/22(月) 21:41:34 ] 次のように Folderオブジェクトの SubFolders でFolderコレクションを取得したとして、 Set c = folder.SubFolders これを For Each ではなくて以下のように For で処理したいです。 For i = 0 To c.Count : Next このループの中で、i 番目のアイテムを取得するにはどうしたらよいでしょうか? c(i) でも c.Item(i) でもダメでした。
211 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 21:44:18 ] c.Items(i)
212 名前:210 mailto:sage [2010/02/22(月) 21:50:27 ] それだと オブジェクトでサポートされていないプロパティまたはメソッドです。:'c.Items' です。 ちなみに、c.Item("Test") みたいに、実在するフォルダ名を与えればフォルダオブジェクトは取って来れます。 それじゃ意味無いですが。
213 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 22:06:18 ] c(i).Value c(i).Item()
214 名前:210 mailto:sage [2010/02/22(月) 22:17:28 ] >>213 プロシージャの呼び出し、または引数が不正です。
215 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 23:29:43 ] Shell.Application の FolderItems のほうを使ったら?
216 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 21:55:47 ] 配列に入れて使え
217 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 22:13:00 ] For i = 0 To c.Count j=0 For Each f In c If j=i Then Exit For j=j+1 Next MsgBox f Next
218 名前:デフォルトの名無しさん mailto:sage [2010/02/25(木) 22:55:24 ] 番号は使えないみたいだな ItemクリックしたらDictionaryに飛んだ ttp://msdn.microsoft.com/en-us/library/9kcx47hd%28VS.85%29.aspx
219 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 21:36:27 ] test
220 名前:デフォルトの名無しさん [2010/03/05(金) 12:44:09 ] WMI使ってリモートPCのIP変更したいんだが、変更後にRPCエラー待ちが発生して自動処理が難しい。 エラー待ちを無視するとか、なんかいい方法知ってる人がいたら助けて。 On Error Resume Next strComputer = "10.1.1.1" Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colNetAdapters = objWMIService.ExecQuery _ ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") For Each objNetAdapter in colNetAdapters errEnable = objNetAdapter.EnableDHCP() Next