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


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

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



1 名前:デフォルトの名無しさん [2007/04/16(月) 13:48:54 ]
( ´ゝ`) 誰か詳しい情報キボンヌ

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

●関連スレ
お前ら、wsh使ってますか? part6
pc11.2ch.net/test/read.cgi/win/1155040873/
【イケメン】阿龍スレ避難所@自己紹介【彼女募集中!】
life8.2ch.net/test/read.cgi/intro/1171897814/

●個人サイト
Windows Scripting Host Laboratory
www.roy.hi-ho.ne.jp/mutaguchi/wsh/
Windows Script Wiki
winscript.s41.xrea.com/wiki/index.php
音楽
winscript.mine.nu/music/
キャラネタ板・なな板のための何か
charaneta.mine.nu/

568 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 20:04:29 ]
汎用コンポーネントもこのスレでいいだろ
どうせ使うんだから

569 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 20:08:50 ]
文句言うだけでサンプルコードのひとつも貼らない君等も同類だと気付いてる?

570 名前:567 mailto:sage [2008/01/06(日) 20:14:40 ]

回答なら566で十分だろ?

俺はただ566が気持ち悪いって書きたかっただけだ。

同類にされたかないね!

571 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 20:26:49 ]
ゴメン、それ以下だったようだねw

572 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 20:34:23 ]
教える側はさぞ自分のほうが頭がいいと思い気持ちよくなる。

教えられる側はその代償に回答をもらう。

いいんじゃね?

モレだったら表面上では偉そうな態度取らんが、それは人それぞれ。

573 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 20:39:56 ]
>>572
恥ずかしくならない?

574 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 22:12:33 ]
>>573
モレは恥だと思うから、

>モレだったら表面上では偉そうな態度取らんが、それは人それぞれ。

って事ね。

575 名前:デフォルトの名無しさん [2008/01/06(日) 22:13:47 ]
>>566 は氏ねばいいと思いま〜〜す。

576 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 22:25:42 ]
>>574
そういうの偉そうに書いちゃうのは恥ずかしくないの?



577 名前:565 mailto:sage [2008/01/06(日) 23:12:00 ]
私が初歩的な質問をしてしまったばかりにスレが荒れてしまっているみたいで
申し訳ありません。

一応自己解決したので参考までに私がとった手段を書いておきますね。
WMIと言うのは一応調べてみたのですが、イマイチよく分からなかったので
WScript.CreateObject("WScript.Shell").Exec を使って
reg.exe を呼び出す事で処理しました。
reg query キー
とやると、指定したキー内の"名前", "種類", "データ"が全て列挙されるので
1行1行InStr関数にかけて目的のレジストリデータが存在するかどうかを調べる手段を
取りました。一瞬コマンドプロンプトの画面が立ち上がってくるのがちょっと気になりますが
これなら私にもかけました。
アドバイス下さった方、ありがとうございました。

578 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 23:24:39 ]
>>576
楽しそうだね。

579 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 00:07:34 ]
>>577
msdn2.microsoft.com/en-us/library/aa393664(VS.85).aspx
www.microsoft.com/japan/technet/scriptcenter/scripts/os/registry/default.mspx


580 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 12:33:33 ]
>一瞬コマンドプロンプトの画面が立ち上がってくるのがちょっと気になりますが

出てこなくする方法もあるけど
それが出ないのが気に入らないっていうひともいるだろうね

581 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 13:08:42 ]
>>580
おお、そうなんですか?参考までに出てこないようにする方法を教えて頂けませんか?
IEの場合は
objIE.Visible = False
すれば見えなくなりますが、コマンドプロンプトの場合どうするんだろう・・・

582 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 16:36:53 ]
cmd /?


583 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 01:46:31 ]
>>562
どれをハズれと言ってるのかよくわからんのだが
まああれだ。
MSがいくら宣伝しても
VBSを使ってる人間は少数派。
というかもはや滅亡の道を歩んでおる

VBS < 壁 < javascript
.NET < 壁 < java
パワーシェル < 壁 < Perlなど

って事だ。
将来性を考えるんなら>>557もVBSはスルーして
JSにしときな

584 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 02:24:01 ]
でもな、VBSのほうが断然早いんだ。特に配列。
たまにByRef受け取りなパラメータもあったりするし。

585 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 04:32:21 ]
fsoで移動先に同名フォルダがある場合について質問です。
c:\test\test
というように同じフォルダ名で入れ子になっている環境で、
explorer上でc:\test\testを切り取り、c:\test内で貼り付けて上書きすると
二つのフォルダ内容が融合されますが、これをfsoで実現しようとしています。

Moveは移動先に同名アイテムが存在していてはダメということなので、

まずc:\test\testの中身を先にc:\testに移動させ、
c:\test\testが空になったら削除する。
この際に、
c:\test\test\foo.txt
c:\test\foo.txt
というように移動先のフォルダに同名ファイルが存在した場合、
まずc:\test\foo.txtを削除し、c:\test\test\foo.txtをc:\test\foo.txtに移動させる。
さらに同名フォルダの場合はそれぞれについて再帰的に処理していく。

というような手順を踏まなければならないのでしょうか?
もっとシンプルな方法があるなら教えてくれませんか?

586 名前:デフォルトの名無しさん [2008/01/08(火) 05:09:32 ]
>>585
質問は日本語でおねがいします



587 名前:デフォルトの名無しさん [2008/01/08(火) 07:09:21 ]
モールスぬるぽ銃乱射 www6.ocn.ne.jp/~miz2/morse.htm

   1TGBIT                 ガッガッガッガッドガガッガッ!!!!!
  >z/':y★r”  ドガガガガガッ           ∴ ∧変∧
  ル%#*゚∀)___。  \从/    _ _ _☆_ _★∴*.`Д´)/
 ノハ つ∞【〔ロ=:(∈(二(@ >‐― ‐★‐―☆∵*;:*;    /

∧★∧
(*゚∀゚)φ――・ ・― ― ―・・― ・・―→ (モールスでガッ!)


588 名前:604 mailto:sage [2008/01/08(火) 07:47:55 ]
>>585
CopyFolderとかなら上書きに関するパラメータがあるみたいだけど。
なんでMoveにはないのかね?

589 名前:604 mailto:sage [2008/01/08(火) 07:49:08 ]
未来からきてすみません

590 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 08:23:31 ]
>>583
残念ながらハズレです

591 名前:585 mailto:sage [2008/01/08(火) 13:46:21 ]
>>586
(´・ω・`)

>>588
なんでですかねー? >Moveの上書きパラ

CopyFolderの場合はあくまでCopyなので、後でコピー元を削除するとしても、
一時的に同一アイテムが階層違いで存在してしまうことになってしまいます。
この方法だとサイズの大きいアイテムのときに問題が出てきます。
となると、移動先の同名アイテムを先に削除してから移動させる、
という選択肢しかなくなってしまうと思うんです。

しかしそれがどう考えても複雑な処理になってしまう。

みなさんどうやってるんですか?

592 名前:デフォルトの名無しさん [2008/01/08(火) 14:18:12 ]
CopyFolder には上書きオプションがあって
Move には無い。
どこか抜けてるところが、いかにもマイクロソフトらしい。

593 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 14:31:42 ]
moveは内部renameなのでrenameに上書きがないから

594 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 15:01:03 ]
>>591
ShellオブジェクトのFolderオブジェクトを使えばできた。
以下、"F:\temp\test\test"を"F:\temp\test"へ上書きするサンプル。

Set objShell=Wscript.CreateObject("Shell.Application")
set objFol = objShell.NameSpace("f:\temp")
call objFol.MoveHere("f:\temp\test\test", &H10)

595 名前:585 mailto:sage [2008/01/08(火) 15:54:53 ]
>>594
動作確認できました。
ありがとうございますm(_ _)m


しかしこのMoveHereって移動エラー発生時点で処理が中断されるっぽいですね。
スキップさせるにはやっぱり自分で書くしかないですね。

MoveHere.VBS
www.vector.co.jp/soft/winnt/util/se377243.html

けっこうみんな苦労してるっぽい
www.roy.hi-ho.ne.jp/mutaguchi/bbs/list121.shtml



596 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 16:15:45 ]
>>595
FolderItemオブジェクトのInvokeVerb使って、
"切り取り(&T)"して"貼り付け(&P)"という手もあると思いますが・・・。
まあ、エラーが出れば止まるのは同じでしょうね。



597 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 16:46:24 ]
shellのmoveはcopy+deleteだから

598 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 16:52:30 ]
fsoで
if folderexists then deletefolder
movefolder
がいいんじゃないの
on error使ってもいいけど

599 名前:585 mailto:sage [2008/01/08(火) 17:26:35 ]
>>596
それって裏でMoveHereが動いてるのでは?

>>597
そのようですね。いろいろ実験してると分かりました。

>>598
それだとフォルダとフォルダのマージにはならないような。
移動先のかぶってないファイルも削除されてしまう。


600 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 17:29:09 ]
movefileでぐるぐる

601 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:50:28 ]
> まずc:\test\foo.txtを削除し、c:\test\test\foo.txtをc:\test\foo.txtに移動させる。
> さらに同名フォルダの場合はそれぞれについて再帰的に処理していく。

ファイル名とフォルダ名が同じだったらどうするんだろ

602 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 21:58:05 ]
すきにしてくれ

603 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 22:24:30 ]
つrobocopy.exe

604 名前:585 mailto:sage [2008/01/09(水) 06:53:12 ]
>>601
そのへんは考えてあります。
MoveHereの標準動作を見ると

移動先に同名アイテムがない → 移動
移動元:ファイル → 移動先:ファイル → コピー先削除 → 移動
移動元:ファイル → 移動先:フォルダ → エラー(中断)
移動元:フォルダ → 移動先:ファイル → エラー(中断)
移動元:フォルダ → 移動先:フォルダ → マージ(再起処理へ)

ということみたいですが、
ファイル-フォルダ、フォルダ-ファイルの場合の中断は問題があるので
ダイアログでも出すか、スキップするかで対応。

605 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 16:41:28 ]
cronNTで動かすスクリプトはネットワーク上のファイルにはアクセス出来ないのでしょうか?

var objFSO = new ActiveXObject("Scripting.FileSystemObject");
WScript.Echo((objFSO.DriveExists("\\\\Server\\SharedDocs")).toString());;

というスクリプトをcronNTで動かした場合、falseになります。


606 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 18:12:05 ]
DriveExists?



607 名前:デフォルトの名無しさん [2008/01/09(水) 20:35:09 ]
>>605
それ、cronNTじゃない環境では動くの?

608 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 23:44:50 ]
>>606
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/jsmthdriveexists.asp

>>607
コピペミスで2行目に ; が1個余分に付いてしまったorz

foo.js というファイル名で保存して、コマンドプロンプトから cscript で実行させれば動きます。

共有フォルダに置いてあるDLL(AutoItX3.dll等)を regsvr32 した後、スクリプト中で
ActiveXObject() して使おうと思い、コマンドプロンプトからの動作確認ではうまく動いたので
cronNT に起動スケジュールを書いておいたら動いてはくれず、色々と調べていたら
共有フォルダへのアクセスに失敗している事が分った次第です。

もし、cronNT が原因で他の類似ソフトでは再現しない問題なら他に良い物が有れば
それに乗り換えようとも思ってます。
ただ、VMware Player の中で動かしている都合
(無料版はディスクイメージの容量を後から大きくするツールが付属しない)で、
しかも既に残り容量にも余裕が全く無い為、

Windows Services for UNIX Version
ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=896C9688-601B-44F1-81A4-02878FF11778#Overview

の様なのでは無く、もっと軽い物でないと無理です。


609 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 01:57:32 ]
cronNT類似とか関係なく、例えばWSHとかHTML, HTAなど
他のActive Script実行環境でやるとどうなるか試してみろ。

610 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 09:00:52 ]
>>608
ちょっとかなりスレ違いっぽいが
cronNTサービスのプロパティを開いて
ログオンをローカルシステムアカウントから自分のアカウントに変えてみて

611 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 11:28:47 ]
Aというディレクトリに a,b,c,d,e というファイルがありました
それをBというディレクトリにmoveしますが途中で終了してしまい
a,b,cまでしかmoveされませんでした
その後もう一度AをBにmoveしたところ上書きしますか?と聞かれたので
「はい」で最後まで完了したのですがBのナカミを見たところ
d,eしかありませんでした
あるOSで実際に起こった出来事です

612 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 13:53:18 ]
で?

613 名前:デフォルトの名無しさん [2008/01/10(木) 15:46:01 ]
>それをBというディレクトリにmoveしますが途中で終了してしまい

「それ」 とは何か。具体的に書け。

614 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 16:54:33 ]
>「それ」 とは何か。具体的に書け。

単数形だから「Aというディレクトリ」じゃね

615 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 17:24:00 ]
>611
最初のmoveにより、ディレクトリAからファイルa,b,cが消えた。
その状態でディレクトリAを再びmoveさせれば、ディレクトリBにファイルd,eしかないのも別におかしくないだろ。

616 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 20:57:58 ]
普通はディレクトリとその中身のファイルは別だからねぇ。
ディレクトリを移動(上書き)というのはディレクトリ自体の移動ではなく中身の移動のことだし。

中身の移動であるという観点から見れば、上書きが発生すること自体おかしな話だわな。



617 名前:デフォルトの名無しさん [2008/01/10(木) 21:32:01 ]
なぜ 「それ」 が問題なのかというと、
Aというディレクトリを move せずに
a,b,c,d,e というファイルを move すればよかったんだよ。
「それ」 が A なのか a,b,c,d,e なのかで結果が違ったんだね。

618 名前:デフォルトの名無しさん mailto:sage [2008/01/10(木) 21:57:15 ]
Macはどうでもいいよ。

619 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 17:16:43 ]
a,b,c,d,e なら「それら」だろ

620 名前:デフォルトの名無しさん [2008/01/11(金) 20:19:27 ]
>>611
ご愁傷さま


621 名前:デフォルトの名無しさん [2008/01/11(金) 20:56:54 ]
www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct04/hey1011.mspx
を JScript に移植したくて以下のように書きましたが、実行すると
xxx.js(4, 1) SWbemServicesEx: 無効なクエリです。
というエラーで止まってしまいます。
どこが間違っているでしょうか?

var strComputer = ".";
var objWMIService = GetObject("winmgmts:\\\\" + strComputer + "\\root\\CIMV2");

var colMonitoredEvents = objWMIService.ExecNotificationQuery(
"SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE " +
"Targetinstance ISA 'CIM_DirectoryContainsFile' and " +
"TargetInstance.GroupComponent= " +
"'Win32_Directory.Name=\"c:\\\\scripts\"'");

while (true)
{
var objLatestEvent = colMonitoredEvents.NextEvent;
WScript.Echo(objLatestEvent.TargetInstance.PartComponent);
}

622 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 20:58:28 ]
>>611
次から気を付けようなw

623 名前:デフォルトの名無しさん [2008/01/11(金) 20:59:57 ]
>>622
ここが間違ってる

var colMonitoredEvents = objWMIService.ExecNotificationQuery(
"SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE " +
"Targetinstance ISA 'CIM_DirectoryContainsFile' and " +
"TargetInstance.GroupComponent= " +
"'Win32_Directory.Name=\"c:\\\\scripts\"'");


624 名前:621 [2008/01/11(金) 21:09:46 ]
>>623
すみません、書き方が悪かったです。
どこが間違ってるかはエラーメッセージが教えてくれているのでわかってました。
どう直せばいいんでしょうか?

625 名前:デフォルトの名無しさん [2008/01/11(金) 21:41:29 ]
デバッグくらい自分でしろ〜
他人に投げるな〜〜

626 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 21:42:52 ]
var colMonitoredEvents = objWMIService.ExecNotificationQuery(
"SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE "
+ "Targetinstance ISA 'CIM_DirectoryContainsFile' and "
+ "TargetInstance.GroupComponent= "
+ "'Win32_Directory.Name=\"c:\\\\\\\\scripts\"'");



627 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 22:38:22 ]
wwww

628 名前:621 mailto:sage [2008/01/15(火) 17:17:28 ]
>>626
ありがとう

629 名前:デフォルトの名無しさん [2008/01/18(金) 06:33:04 ]
CreateObject("ADODB.Stream")

上記でエラーがでます。
おそらく、ファイルが必要だと思うのですが、
それはどうやったら手に入りますか?


630 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 07:29:28 ]
>>629
とりあえずエラーの内容書いてみ

631 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 21:42:53 ]
>>629
MSからダウンロードに決まってるだろ

632 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 22:22:49 ]
標準で入ってない環境、まだあったっけ?

633 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 09:49:15 ]
FileSystemObjectとか称してテキストファイルの読み書きしか出来ないの?
fread,fwriteとかseekのメソッドを提供してるクラスって無いの?

634 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 09:59:08 ]
出来ない
ADODB.Stream

635 名前:デフォルトの名無しさん [2008/01/19(土) 15:46:30 ]
ADODB.Stream ってファイル全体をいっぺんに読み込んでしまうよね?
デカイ動画ファイルの 最初の数バイトだけ 読み込んで処理したいけど
ファイル全体を読み込んでしまうため時間がかかってしょうがない。
何か良い手は無いですか?

636 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 16:18:25 ]
FileSystemObjectで読む



637 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 22:25:52 ]
PowerShellやC#に逃げる

638 名前:デフォルトの名無しさん [2008/01/20(日) 01:04:11 ]
     ↑
自分の殻に閉じこもる現実逃避型。

639 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 01:25:31 ]
debugでダンプする

640 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:01:36 ]
殻=shell

641 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 22:13:18 ]
basp21

642 名前:デフォルトの名無しさん [2008/01/20(日) 22:46:52 ]
客先のPCにbasp21がインストールしてあれば苦労しないよ

643 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:24:23 ]
スクリプトをインストール(=使用準備なので何処かのディレクトリにスクリプト置くだけでインストールになる)は可能なのに
COMコンポーネントのインストールは不可なんて馬鹿げたことを言い出すような低レベルな奴など相手にするな

こんなこと言い出すのは、嫌レジストリ厨とか"インストール"の意味を分かってない奴とか、相当な初心者の類だが、
もし"客先"ってのが会社なら、そんな奴がシステム管理においての権限を持ってるなんてゾッとしないねw
まあそれ以前にWSHスクリプトを外注する会社ってのもアレだけどw

644 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:37:16 ]
FileSystemObjectなら使えるだろうに、なぜ使わん?

645 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:12:46 ]
スクリプトの中で COM みつからなかった初回のみ regsrvr32 すれば?

646 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:14:43 ]
>>635
> デカイ動画ファイルの 最初の数バイトだけ 読み込んで処理したいけど
とのことだ。
バイナリは無理だろ。



647 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 00:15:20 ]
>>646>>644 へのレスね。

648 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 01:28:09 ]
OpenBinaryFile()

649 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 01:50:38 ]
> バイナリは無理だろ。

何が?

650 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 01:55:19 ]
FSOでってことだろ

651 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 04:47:12 ]
ForBinaryReading

652 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:21:14 ]
それは今回の用途とは違うわけで

653 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 16:21:14 ]
baspをbase64してwsfに入れて実行時に登録

654 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 16:36:19 ]
すなおにVBで作って納品46

655 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 01:59:20 ]
VBSファイルごとにアイコン変える方法おすえて

656 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 02:11:42 ]
>>655
ショートカット作って、ショートカットのアイコン変えるとか



657 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 21:41:26 ]
そういうアイコンハンドラを使えばいいんじゃね
なければ作ればいいんじゃね

658 名前:sage [2008/01/31(木) 00:57:14 ]
1.WSHを使って指定URLをIEから立ち上げる
2.(1)のURLのHTMLに含まれるjavascriptを解析して
自動で実行したい

WSHで1.はできると思うのですが、2はできますでしょうか?
できるのであればヒントを教えていただけぬか


659 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 00:59:05 ]
HTMLDocument

660 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 20:30:46 ]
最近 WSH を始めた者です。
WSHShell の Run メソッドでアプリを起動して使おうとしているんですが、
普通にアイコンをダブルクリックして起動した場合と挙動が違って困っています。

とりあえずわかったことは、そのアプリは ¥Document and Settings¥ユーザ名¥
Application Data¥アプリ名 以下に一時ファイルを作るんですが、WSH から
起動した場合ファイルが生成されないようです。
WSH の場合でもちゃんと走るようになる為には何か別途設定がいるのでしょうか?
今は基本的に WSHShell.Run(アプリのバス, 4, True) を呼んでるだけです。

661 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 21:42:20 ]
>>660
カレントディレクトリを設定しろ
設定仕方はWSHヘルプに載ってるので嫁

662 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 07:34:31 ]
>>661
どうもです。

>WSHヘルプ
すみません、実はこれが何を指すのか分からん程度なんですがw

>カレントディレクトリを設定しろ
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wslrfcurrentdirectory.asp
によると CurrentDirectory というプロパティがあるそうなのでこれを適宜セット
する、で正解ですか?
で、できたらどんな値にセットするかも教えていただけると助かるのですが...
もしかしたらWSHヘルプというものにそれが書いてあるんでしょうか。

逆に考えると、普通にダブルクリックで起動したアプリではカレントディレクトリが
適宜セットされているから動く、ということでしょうか? もしそうなら一体どんな値になって
いる? という疑問がわきますが...

663 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 08:38:11 ]
右クリック-プロパティ

664 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 09:38:40 ]
通常はダブルクリックしたものがあるディレクトリがカレントディレクトリとなる。

665 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 11:10:49 ]
>>662で言ってる CurrentDirectoryって Windows2000にデフォルトで入ってるWSHでは
動きませんよねぇ。なんか代替のメソッド無いですかね?

666 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 13:14:22 ]
>>665
Win2Kでも、WSH5.6なら、("Wscript.Shell").CurrentDirectryが使える。
インストール直後のバージョンは、どうだったかな‥

古いWSHでも、("Wscript.Shell").Run """ショートカットファイル.lnk""",,False なら
問題ない。False設定しか使えなくなっちゃうけども。

Wscript.ScriptFullName のほうは今回無関係ですかね。




667 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 16:33:34 ]
そのスクリプトファイルのショートカットを作って作業フォルダを設定しろ

668 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 02:07:27 ]
WSHでファイルを読み取り専用に変えることはできますでしょうか?






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

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

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