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
357 名前:デフォルトの名無しさん mailto:sage [2008/10/07(火) 22:40:11 ] >>339 以降は関係ない話だから役に立つはずがない。
358 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 01:16:11 ] >>353 tasklist.exe
359 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 07:57:28 ] >>358 nprotectによってFEZero_clinet.exeがごっそり消えてる。 タスクマネージャーを使っても、WMIをつかっても、Tasklistをつかっても、結果は同じだった。
360 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 03:01:54 ] Windows 2000 SP4、IE6.0 SP1、WindowsUpdateは一通り入れた状態でcscript > C:\Documents and Settings\Administrator>cscript > Microsoft (R) Windows Script Host Version 5.6 > Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. WSH5.6を入れた記憶は無いんだけど SP4は5.6がデフォ?それともIE6.0 SP1入れたから?うーん。 www1.u-netsurf.ne.jp/~tomo_c/tips/R23_002.html > Windows98 SecondEdition は 5.1 > Windows 2000 SP3 は 5.1 > WindowsXP は 5.6
361 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 11:53:54 ] > それともIE6.0 SP1入れたから? 多分それだと思う。 www.microsoft.com/japan/technet/security/bulletin/MS02-009.mspx +よく寄せられる質問 使用中の VBScript のバージョンはどのように分かるのですか? VBScript.dll ファイルは 2 つのソフトウェア製品 (Internet Explorer および Microsoft Windows Script) に同梱されています。 ・Internet Explorer 6.0 : Internet Explorer 6.0 を実行しているお客様については、 使用しているプラットフォームに関係なく、Windows Script 5.6 が既定でインストー ルされています。Windows Script 5.6は Internet Explorer 6.0 に同梱されています。 ・Internet Explorer 5.5 : Internet Explorer 5.5 を実行しているお客様については、 使用しているプラットフォームに関係なく、Windows Script 5.5 が既定でインストー ルされています。Windows Script 5.5 は Internet Explorer 5.5 に同梱されています。 ・Internet Explorer 5.01 : Internet Explorer 5.01 を実行しているお客様については、 使用しているプラットフォームに関係なく、Windows Script 5.1 が既定でインストール されています。 Internet Explorer のバージョンを 6.0 または 5.5 にアップグレードしていないお客様は、 次のバージョンの Windows Script を実行している高い可能性があります。 ・Windows 2000 : Windows Script 5.1 ・Win ME : Windows Script 5.5 # ちなみに、Windows Script 5.1 は、元々 Windows Script 2.0 と呼ばれていた。
362 名前:デフォルトの名無しさん [2008/10/11(土) 14:46:39 ] Version 5.6 だった で、それがなんなの 「うーん」なんて書くほどのことかよアホ
363 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 14:55:49 ] わざわざ3行もレスするような事かよアホ
364 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 15:20:47 ] >>362 違いがわからない奴が無理してレスする必要は無い
365 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 17:49:09 ] ダバダ〜
366 名前:デフォルトの名無しさん [2008/10/11(土) 18:34:16 ] ___ / ヽ 「うーん」 , -‐ (_).⌒ l ̄| ⌒ | __o l_j_j_j と) ノ─| ノ | 二|二'' _ / / ヽ ノ | ヤ ッ 〈 ノ |
367 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 19:02:31 ] マンダム
368 名前:デフォルトの名無しさん [2008/10/11(土) 19:08:46 ] この3人は40代(以上)の中年プログラマー ↓↓↓ >>364 >>365 >>367
369 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 19:44:07 ] ネタ元の分かるお前もなw
370 名前:デフォルトの名無しさん [2008/10/11(土) 20:59:36 ] この3人はN88BASICで育った世代 ↓↓↓ >>364 >>365 >>367
371 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 21:41:26 ] 初体験はTK-80だったわ(ポッ
372 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 23:06:40 ] >>361 丁寧にコピペまでサンクスです お陰でWSHのバージョンに関係しそうな要素が掴めました こんなところかな。ちゃんと管理していこうと思ってます。それでは失礼 ・導入OS ・IEバージョンうp ・WSHバージョンうp
373 名前:デフォルトの名無しさん [2008/10/11(土) 23:16:01 ] TKとはトレーニングキットの意味じゃなく小室哲哉のことね。これ常識中の常識。
374 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 14:48:58 ] ドラッグアンドドロップした画像をペイントで開くにはどうすればいいですか?
375 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 15:34:24 ] WScript.Shellでmspaint.exeをRun
376 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 22:33:22 ] Windows Script Host の実行の失敗しました。(この操作を完了するのに十分な記憶域がありません。) ってエラーが出るのですがなんでしょうか?ある程度調べてみたのですが改善されませんでした。 どなたかご教授お願いします。
377 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 14:18:54 ] >>376 ファイル名を変えろ or フルパスで指定しろ
378 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 14:27:59 ] >フルパスで指定しろ だめ
379 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 20:05:31 ] >>377 ,378 ありがとうございました
380 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 18:40:50 ] すみません。 プログラムの追加と削除やスタートメニューを見てインスコされているアプリの一覧を作りたいです。 教えて下さい。
381 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 19:54:34 ] ttp://www.microsoft.com/japan/technet/scriptcenter/resources/wmifaq.mspx#EABAE
382 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 19:57:47 ] dir /s /b c:\*.exe
383 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 20:51:11 ] format c:
384 名前:380 mailto:sage [2008/10/30(木) 22:30:06 ] すみません。真面目に訊いてるんですけど。。。 アプリの件は皆さんがふざけている間にPCViewっていうフリーソフトで事故怪傑しました。 その他にインスコされてるフォント名の一覧が欲しいです。 これが最後☆チャンスです。皆さんの役に立つとこ見せて下さい。
385 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 22:36:55 ] >>384 おれは真面目に>>381 って返したつもりなんだけどな。無視ですかそうですか。ちょっと泣けちゃう。フォント名の一覧?知るかばーか。
386 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:00:21 ] >>382 >>383 すれ違い >>384 フリーソフトさがせ
387 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:40:02 ] appwiz.cpl中のhtaで使ってるobjectは利用できないのかね?
388 名前:380 mailto:sage [2008/10/31(金) 13:12:23 ] >>385 こっちは教えてくれって頭下げてんですよ。>>381 の一覧見てどうしろってんですか。 もったい付けてないでちゃちゃっとスプリクト教えてくれさえすれば良いだけなのに、 どうしてプログラムの人ってまともにコミュニケーション取れないのばかりなんだろう。
389 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 13:17:54 ] >>387 cplってhtaなん?
390 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 13:55:55 ] >>388 お前馬鹿? ソース書いてあるじゃん。 > >>381 の一覧 一覧って書いてるところからして、もしかして手打ちでURL入れて最後の#以降を入れなかった せいでページの目次部分を見てるとか? もしそうなら超バカかつ超失礼な奴だな。381にちゃんと謝っとけ!
391 名前:380 mailto:sage [2008/10/31(金) 14:42:27 ] はいはいw結局こんな簡単なスプリクトも組めないんですねお前らw言い訳乙
392 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 16:25:16 ] >>391 >>381 の意味するところが分からないようなら自力では無理。 素直にコンパネ開いて手作業で写しなさい。あんたの場合それが一番早いやり方。
393 名前:380 mailto:sage [2008/10/31(金) 17:32:26 ] もしも〜し? 自力で何とかなるなら最初からこんなキモスレで質問なんかしませんよ〜 日本語通じてますかぁ〜 私は、どうせ暇なあんた達にたまには人の役に立てるチャンスを与えてやっただけ
394 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:24:46 ] 悪いが人間の定義から手取り足取り教えてやるほど親切じゃないw
395 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:28:56 ] "ヒント貰っても"自力で出来ないならってことなんだが 日本語通じてないのはどっちかな( ̄ー ̄)ニヤリ それにオマエは与える側ではなく物乞う側だ 答えそのものを与えるも、ヒントだけ与えるも、こちらの自由 俺等の掌の上で哀れに乞い踊り、弄られ怒り狂う様を ニヤニヤ眺められるだけのピエロでしかない もちろんこれを否定するのは勝手だが オマエは目的のことを教えて貰えず困っており こちらはなんら困ってないという事実が全てを物語ってしまっている
396 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:39:18 ] res://appwiz.cpl/default.hta
397 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 18:53:55 ] >>384 dir c:\windows\fonts
398 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 19:01:11 ] ヒント createobject("shell.application").namespace("shell:fonts")
399 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 20:03:18 ] スプリクト(笑)
400 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 20:09:53 ] まぁ正直わからんでもないな 聞いてる方の態度もアレだがそれを抜きにしても ちょっとなんだかなぁってのが多いのはなんなんだろうな
401 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 20:14:06 ] 即答されてるんだから、後はどうでもいいだろ。
402 名前:デフォルトの名無しさん [2008/10/31(金) 21:44:38 ] 新しいスプリ ク ト言語が開発された噂のスレはこちらですか?
403 名前:380 mailto:sage [2008/10/31(金) 22:07:04 ] なに必死になっちゃってんの?顔真っ赤ですよぅwキモオタどもダサ過ぎw あ〜はいはい困ってまちゅよぅ大変だぁこれで満足ですかwww
404 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:23:14 ] 満足だから、もうどっかに逝け。
405 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:23:59 ] スクリプトだろw 大人なら、もうちょっとストリクトに書けよな と思ったら、なんだ幼児でちたか
406 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:30:24 ] >>380 >なに必死になっちゃってんの?顔真っ赤ですよぅw 光沢モニタってのはなかなか便利なものだな。
407 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 22:47:42 ] はいはいでもして事故怪傑してくださいな
408 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 00:08:19 ] はいはいスプリクトスプリクト
409 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 10:23:04 ] >>406 だな 光沢液晶眺めながらヒゲ剃りも出来そうだ
410 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 23:21:13 ] 予告 GetAsyncKeyState
411 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 07:43:01 ] OS:Win XP Pro SP3 WSH:v5.7 var s1 = "C:\\bin"; var s2 = "C:\\bin\\hoge"; if (s2.search(new RegExp(s1)) != -1) WScript.echo("一致"); else WScript.echo("不一致"); s1 = s1.replace("\\","");s2 = s2.replace("\\","")にしてやれば一致するのですが 上記のコードはなぜ不一致になるのでしょうか? またvar s1 = "C:\\\\bin";var s2 = "C:\\\\bin\\\\hoge";にもしてみましたが結果は不一致のまま変わりませんでした
412 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:47:59 ] >>411 var s1 = "C:\\\\bin"; var s2 = "C:\\bin\\hoge"; s1に正規表現のためのエスケープが必要。
413 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 14:38:09 ] えんえんとえんをつづけるのかw
414 名前:デフォルトの名無しさん [2008/11/15(土) 17:59:30 ] 各国の通貨暴落なのに円だけが上がってるからな
415 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 21:10:43 ] >>412 なるほど検索文字列だけエスケープしなきゃならなかったんですね やったと思ったらs2も\を足してから一致しなかったんですね ありがとうございました
416 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 03:12:34 ] 各Windowsコンポーネントのインストール状態の一覧を取得する方法ってありますか?
417 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 04:09:12 ] はい、ありますよ
418 名前:デフォルトの名無しさん [2008/11/16(日) 10:22:21 ] >>416 俺が前したのと同じ質問かい!…ログ見てください、おながいします。
419 名前:デフォルトの名無しさん [2008/11/16(日) 20:18:07 ] 類似品でこんなやつならマイクロソフトのサイトにあった そのものズバリも探せばあると思うよ これ以上は興味ないから知らん(キッパリ) strHost = "." Const HKLM = &H80000002 Set objReg = GetObject("winmgmts://" & strHost & _ "/root/default:StdRegProv") Const strBaseKey = _ "Software\Microsoft\Windows\CurrentVersion\" objReg.EnumKey HKLM, strBaseKey, arrSubKeys strLine=Array() For Each strSubKey In arrSubKeys intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _ "DisplayName", strValue) If intRet <> 0 Then intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _ "QuietDisplayName", strValue) End If If (strValue <> "") and (intRet = 0) Then Push strLine,strValue End If Next Wscript.Echo Join(strLine,vbLf) 'scripting.cocolog-nifty.com/blog/2006/09/vbscriptarraypu_e6e8.html Sub Push(Items,Item) ReDim Preserve Items(UBound(Items)+1) Items(UBound(Items))=Item End Sub
420 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 20:23:37 ] コピペ間違ったw正しいのはこれ 上のは動かないよ 'www.microsoft.com/japan/technet/scriptcenter/resources/wmifaq.mspx strHost = "." Const HKLM = &H80000002 Set objReg = GetObject("winmgmts://" & strHost & _ "/root/default:StdRegProv") Const strBaseKey = _ "Software\Microsoft\Windows\CurrentVersion\Uninstall\" objReg.EnumKey HKLM, strBaseKey, arrSubKeys strLine=Array() For Each strSubKey In arrSubKeys intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _ "DisplayName", strValue) If intRet <> 0 Then intRet = objReg.GetStringValue(HKLM, strBaseKey & strSubKey, _ "QuietDisplayName", strValue) End If If (strValue <> "") and (intRet = 0) Then Push strLine,strValue End If Next Wscript.Echo Join(strLine,vbLf) Sub Push(Items,Item) ReDim Preserve Items(UBound(Items)+1) Items(UBound(Items))=Item End Sub
421 名前:デフォルトの名無しさん [2008/11/16(日) 21:14:46 ] それは「アプリケーションの一覧」でしょうが。 >>380-381 のと同じじゃない?つうか私が貼った奴だけど。 「Windowsコンポーネントの一覧」はこっち>>356 な。つうか私が貼った奴だけど。 インストール状態だけ知りたいなら↓ >・Windowsコンポーネントのインストール状態については以下のレジストリに格納されてる。 >「HEKY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OC Manager\Subcomponents」 「アプリケーション」と「Windowsコンポーネント」ってそんなに間違いやすい? まあ>>416 からして間違えてる可能性もあるけどさ。
422 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:38:36 ] >>421 おいおい日本語読めねえのはお前の方じゃないのか これはそのものじゃない類似品にしか過ぎない そのものは自分で探してくれと明確に断わってるぞ 家庭で嫌なことがあったら2chで赤の他人に突っかかるのは悪い習慣だ
423 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 21:48:37 ] >>420 を類似品というのは酷すぎるだろ常考…あえて言うならミスディレクション。
424 名前:デフォルトの名無しさん [2008/11/16(日) 21:57:33 ] いやいやお前がよく読まずに突っかかってきたのは事実だ まずそれを謝罪しろアホ これだけ明確に書いてるのに これが質問のものを貼ったと誤解したのは地球上でアホ=>>421 =>>423 ひとり 「類似品でこんなやつならマイクロソフトのサイトにあった そのものズバリも探せばあると思うよ これ以上は興味ないから知らん(キッパリ)」
425 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:21:31 ] そもそも大して役にたたない類似品貼ったぐらいでガタガタ騒ぐなよ。 バカじゃねーのか?
426 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:29:56 ] こいつは>>421 =>>423 以前に登場したとき>>338 >>356 からキモイやつだったんだな 文章のキモさから警戒されて前も誰もレスつけなかったww
427 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 22:32:56 ] >>425 スレ検索したらどないでっかあんさん そのものずばりを貼った人は過去に1人もいませんよ バカじゃねーのか?
428 名前:デフォルトの名無しさん [2008/11/16(日) 22:34:01 ] >>421 はこのスレにミスディレクションということで
429 名前:デフォルトの名無しさん [2008/11/16(日) 22:37:59 ] >>425 たいそうに演説するんだったらお前が貼れww
430 名前:デフォルトの名無しさん [2008/11/16(日) 22:40:13 ] ミスディレクションwwwwwwwwwアホです
431 名前:デフォルトの名無しさん [2008/11/16(日) 22:42:56 ] ☆ チン マチクタビレタ〜 マチクタビレタ〜 ☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・)< ミスディレクションさんの反撃まだ? \_/⊂ ⊂_)_ \____________ / ̄ ̄ ̄ ̄ ̄ ̄ ̄/| |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| | |Winコンポーネント .|/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
432 名前:デフォルトの名無しさん [2008/11/16(日) 22:47:46 ] なんすかこの流れw
433 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 23:12:26 ] 俺が見ても>>419-420 が役立たずのアホ
434 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 00:32:24 ] 慈円
435 名前:デフォルトの名無しさん [2008/11/17(月) 00:43:23 ] ☆ チン マチクタビレタ〜 マチクタビレタ〜 ☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・)< ミスディレクションさんの登場まだ? \_/⊂ ⊂_)_ \____________ / ̄ ̄ ̄ ̄ ̄ ̄ ̄/| |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| | |Winコンポーネント .|/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
436 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 00:45:28 ] >>427 大 し て 役 に た た な い 類似品 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 理解できたか?
437 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 00:45:44 ] 珍しく伸びてると思ったら・・・
438 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 05:44:19 ] フルパスからフォルダ作成(存在しない親フォルダも作成)をできるだけにスマートにvbsで書くとどうなりますか?
439 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 07:01:33 ] こいつはスレ出入り禁止 >>421 =>>423 =>>338 =>356 こいつの文章は特徴があるからすぐわかる
440 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 07:09:42 ] >>438 フォルダが作成される。
441 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 09:00:37 ] 書くだけじゃ作成されねーし パス区切り文字でsplitして親から順に存在チェック 有ったら次へ、無かったら作る
442 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 12:04:13 ] CreateObject("WScript.Shell").Run "CMD /CMKDIR \a\b\c\d"
443 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 18:59:29 ] やっぱ再帰だろ
444 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:33:00 ] sub sub_CreateFolder(strFolderPath) 'フォルダの作成 strParentFolderPath = objFileSystem.GetParentFolderName(strFolderPath) if objFileSystem.FolderExists(strParentFolderPath) then else call sub_CreateFolder(strParentFolderPath) '親フォルダが無ければ再帰的に呼び出し end if call objFileSystem.CreateFolder(strFolderPath) end sub
445 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 20:50:02 ] >>442 cmd使っちゃう方法もありますねw >>444 なるほど。シンプルですね。 大変参考になりました。 みなさんありがとうございます。
446 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 00:13:43 ] call sub_CreateFolder("x:\folder") 無限ループ
447 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 00:51:22 ] >>444 then 側の実行文が空のコードってすごくバカっぽく見えるのは俺だけか?
448 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 00:59:16 ] どっちでもいいじゃん いちいちめんどくせぇな
449 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 01:16:58 ] >>446 ・ドライブレターが存在するか ・フォルダパスとして成立するテキストが入っているか この2つは本来はこのサブルーチンに入る前にチェックするべきだあね。 >>447 then側はtrue、else側はfalseに統一しておくと、 可読性が高くなって個人的にはいいと思ってる。 "not 〜" とか "〜 = false" は後々で見直すときに、 ぱっと見てどっちかわかりにくいんだよね。
450 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 04:19:42 ] >>446 あーそうかそうか。 ドライブの直下にフォルダ作らせようとすると無限ループにはいるね。 今までそういう使い方してなかったから気づかなかった。 objFileSystem.DriveExistsでif文一個追加すればいいやって思ったけど このメソッド、"x:\"だと必ずFalseだね。"x:"ならTrueがかえってくるけど。
451 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 04:31:03 ] ちゃんと作るとこうかな? Set objFileSystem = CreateObject("Scripting.FileSystemObject") strBuf = inputbox(" ") if objFileSystem.DriveExists(objFileSystem.GetDriveName(strBuf)) then call sub_CreateFolder(strBuf, objFileSystem.GetDriveName(strBuf) & "\") else WScript.Quit end if sub sub_CreateFolder(strFolderPath, strDrivePath) 'フォルダの作成 strParentFolderPath = objFileSystem.GetParentFolderName(strFolderPath) if objFileSystem.FolderExists(strParentFolderPath) then elseif strParentFolderPath = strDrivePath then else call sub_CreateFolder(strParentFolderPath, strDrivePath) end if call objFileSystem.CreateFolder(strFolderPath) end sub
452 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 05:01:41 ] call objFileSystem.CreateFolder(strFolderPath)をする前に objFileSystem.FolderExists(strFolderPath)しないと ファイルが既に存在してるかどうか確認するのがめんどくさいからとりあえず実行しちゃえ ってなった時に既に存在してたらエラーになる
453 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 05:03:23 ] ファイルじゃなくてフォルダだった(´・ω・`)
454 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 08:36:27 ] つーかさ、初心者って「スマートに」とか「シンプルに」とか好きだよな そんで例外処理すら省いた短いだけの不適合コードに満足する 良いコードとは、短いコードではなく正しく動作するコードだってことを解ってない
455 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 13:14:52 ] 作ろうとするフォルダ名と同じファイルがあっても困るからそのときは中断処理しないといけないなぁ
456 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 13:58:50 ] >>454 所詮スクリプトなんだからあんまり例外処理を作り込む必要はないんちゃう?と最近は思う。 自分の環境で動けばそれでいいし、動かなければ適宜手直しするし・・・。
457 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 17:32:08 ] >>450 >このメソッド、"x:\"だと必ずFalseだね。 このメソッド、"c:\"だとFalseかね?