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


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

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

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かね?






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

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

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