[表示 : 全て 最新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/

188 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 19:20:53 ]
WM_SETTINGCHANGEとか?

189 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 22:03:38 ]
>>187 >>188
ありがとございます。なんとかできそうです。

190 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 03:07:31 ]
名前にフィルタ掛けて抽出したzipファイルを、
コマンドラインに渡して、無事解凍できたら消すって趣旨のスクリプトを組んでいて、
いざ消すときにまだコピー中な為か、ファイルが使用中だというエラーが
でてしまうので、コピーが終わったかどうか確かめる関数を作ろうと
思っているんですが、まったく思いつかないよーー

似たようなことやったことある人とかアドバイスください


191 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 08:54:50 ]
VBSならOn Error Resume Nextした上で、ループ内で消せばいいさ
消せたらループ抜けるようにしておけば、消せた時点でループ抜けて次の処理に移れる
On Error Resume Nextしておけば、消せなくてもエラーメッセージ出さずに
ループ内で何度も消去試行してくれる

あとはアーカイバツールに渡すときに、処理が終わるまで次の処理に移らないようにしておくとかね

どちらもWSHのヘルプに載ってるので、詳しくはそちらを見てね

192 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 06:59:49 ]
そんなブサイクな発想より普通は解凍ソフトからの戻り値に期待するもんだ

193 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 08:18:41 ]
それはハズレ

194 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 20:47:38 ]
プロセスが起動中ならまだ動いてるんだよ

195 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 20:52:19 ]
宇宙開拓史ののび太並みの天才発言だな

196 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 21:11:16 ]
「この機械、こわれる前はこわれてなかったんだろ」
ってやつだな。



197 名前:デフォルトの名無しさん [2007/09/11(火) 10:56:39 ]
Script56.CHMの目次が不完全な件

198 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 11:50:51 ]
今更?

199 名前:デフォルトの名無しさん [2007/09/14(金) 18:52:35 ]
wshで、COM1とかのシリアルポートとやりとり
する例ってどこかにありませんでしょうか?
Scripting.FileSystemObject でopenしたりReadLnしたり
できるんでしょうか?


200 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 11:04:56 ]
FSOをなんだと思ってるんだこいつ

201 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 11:20:47 ]
>>199
MSCommを使う
PCに入っていない?そんな時はVB6ランタイムでゴニョゴニョ...

202 名前:199 mailto:sage [2007/09/15(土) 18:03:21 ]
>>201
なるほど。でもVB開発ライセンスが要るみたいですね。
最終的に配布したいので、標準の環境で動かしたかったのですが・・
通信用の外部プログラム作成したほうがいいですね。

203 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 22:42:26 ]
.NET Framework 2.0が使えるなら
名前空間 System.IO.PortsのSerialPort クラスあたりを
使うのが楽

204 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 00:00:31 ]
スレの衆、おこんばんは。
俺つい昨日まで、MS-DOSの時代に流行ってたLSI-C86試食版という
Cコンパイラを使って、プログラムをメモ帳で書いてたんよ。
長いファイル名をどうにかする必要があるときは、バッチファイルを
書き出すプログラムを書いてからバッチ実行、とかね。
Oh, WSH! なんてこったい、こんな便利なもんが最初からあるのを知らなかったなんて・・・orz


205 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 00:22:56 ]
>>204
LSI-C86試食版で長いファイル名を使えるようにするライブラリがあるのに。
BCCとかVC2005Expressとかただで使えるWindows用コンパイラがいくつもあるのに。
いろんな意味でご苦労さん。

206 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 06:39:37 ]
>204
右クリック→[送る](SendToフォルダ)経由でファイルやフォルダを引数として渡す場合、
バッチファイルだとOSによって挙動がまちまちでイマイチ使いづらいんだよね。
(特にWin2000以外)
その点、WSHのVer5.0〜5.6だとWin95〜XPまで使い勝手を何とか統一させる事ができる。
(それなりの配慮は必要だが)



207 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 09:40:03 ]
>>204
LSI-C86試食版で頑張っていたおまいは凄すぎ。
昔C言語独学しようと思って初めに手を出したのがそれだったが、
結局Quick-Cに逃げちゃったよ。あれ、独自仕様多すぎね?

208 名前:204 mailto:sage [2007/09/18(火) 00:41:36 ]
あれあれ? 結構おっさんでしょお前様たち (・∀・)人(・∀・)
今は、プログラムを書くってのは緊急事態だったりするので
手持ちのツールと知識だけでなんとか乗り切るやり方を続けて
ここまで来てしまったよ。


209 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 15:50:37 ]
WSHから、お気楽3Dできないか考えてるんだけど、まずは、ブランクウインドウって表示できないのかな?

要はHWNDとってきてDirectXにくっつけてスクリプト側でそうさって感じ。
DirectXはCOMだからなんとかならないかな〜と、駄算してる。
ウインドウはIE使ったほうがはやいのかなぁ?
助言お願いします。

210 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:15:07 ]
LooseXAMLなんてどう?とか適当な事を言ってみる。

211 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 19:39:31 ]
素直にFLASH使えよw

212 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:51:42 ]
>>211
あ、どうりで情報がないわけだ。
レスありがとう。

213 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:53:58 ]
>>209
手元のPCを見てみたら、DirectX 7と8しかタイプライブラリがなかった。
ググってもDirectX 9のはなさそうな感じ。
だから7/8はいいけど、DirectX 9をスクリプトから使うのは無理そう。

214 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 21:03:46 ]
>>213
レスサンキュー。
無理とわかったからにはフラッシュを検討してみるよ。

215 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 23:01:54 ]
LSI-C86試食版てwwwwwww


懐かしすぎて泣ける(;´Д⊂)

216 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 05:54:38 ]




217 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 16:43:01 ]
LSI-C86試食版か。。。。。
Cマガジンとかに付録でよくついてたな。

218 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 19:41:30 ]
実食した奴がどれくらいいるのか非常に気になる

219 名前:171 [2007/10/10(水) 08:28:17 ]
いま、携帯用のPCブラウザを作ろうと思って始めたのですが、
レジストリの部分で引っかかってしまいました。
(標準)=の所にはどう書けばよいのでしょうか?
WshShell.RegWrite "HKLM\Software\Microsoft\Windws\CurrentVersion\Internet Settings\5.0\User Agent","orz","REG_SZ"
PREとPOSTはOKですが、携帯では使わないんで・・・

220 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 08:43:27 ]
スレ違い

221 名前:デフォルトの名無しさん [2007/10/10(水) 13:13:22 ]
キー名を指定する場合は最後にバックスラッシュ(\)を付ければいいので
WshShell.RegWrite "HKLM\Software\Microsoft\Windws\CurrentVersion\Internet Settings\5.0\User Agent\","orz","REG_SZ"
でおk

222 名前:デフォルトの名無しさん [2007/10/10(水) 21:50:04 ]
>221
神降臨です
ありがとうございました



223 名前:デフォルトの名無しさん [2007/10/11(木) 22:20:38 ]
WSHでクッキーのクリアってどうすればよかですか?
IE立ち上げてsendkeysでもこもこと移動させて消していたんですが、
失敗が多い…

どぎゃんすればよかですか?


224 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 22:38:26 ]
 Netscape Navigator
MacOS → 「システムフォルダ:初期設定:Netscape:MagicCookie」
Windows → 「\Program Files\Netscape\Navigator\cookies.txt」
または「\Program Files\Netscape\Users\ユーザ名\cookies.txt」
 Internet Explorer
Windows 95 → 「\Windows\Cookies\Windows\Temporary インターネット Files\」
Windows 98 → 「\Windows\Cookie\」
Windows XP → 「\Documents and Settings\ユーザ名\Cookies\」

のあたりのファイルを直接削除すればいいのでは?

225 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 22:57:33 ]
?:\Documents and Settings\<User>\Cookies\内のファイルを
全部消して良いなら...

var Shell = new ActiveXObject("Shell.Application");
var Cookies = 0x21;
var CookiesFolder = Shell.Namespace(Cookies).Self.Path;
var CookieFilesPath = CookiesFolder + "\\*.txt";
var Fso = new ActiveXObject("Scripting.FileSystemObject");
Fso.DeleteFile(CookieFilesPath);

226 名前:デフォルトの名無しさん [2007/10/15(月) 21:19:28 ]
気張って返事が遅れますた
もうしわけなかです。

ありがとうございました



227 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 21:30:14 ]
// fc.js - 中身が同じファイルを見つける
var CapicomUtil = new ActiveXObject("CAPICOM.Utilities");
// ↑www.microsoft.com/downloads/details.aspx?FamilyID=860ee43a-a843-462f-abb5-ff88ea5896f6&DisplayLang=ja
var Fso = new ActiveXObject("Scripting.FileSystemObject");
var Stream1 = new ActiveXObject("ADODB.Stream");
var Stream2 = new ActiveXObject("ADODB.Stream");
var StreamType = {Binary: 1, Text: 2};
var ReadSize = 64;
Stream1.Type = Stream2.Type = StreamType.Binary;
function CompareFiles(file1, file2) {
  Stream1.Open();
  Stream2.Open();
  Stream1.LoadFromFile(file1);
  Stream2.LoadFromFile(file2);
  var rc = true;
  while (! Stream1.EOS) {
    if (CapicomUtil.BinaryToHex(Stream1.Read(ReadSize))
        != CapicomUtil.BinaryToHex(Stream2.Read(ReadSize))) {
      rc = false;
      break;
    }
  }
  Stream1.Close();
  Stream2.Close();
  return rc;
}
/* つづく...

228 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 21:31:31 ]
...つづき */
function GetFileLists(folder) {
  var lists = {};
  for (files = new Enumerator(Fso.GetFolder(folder).files); ! files.atEnd(); files.moveNext()) {
    var file = files.item();
    var size = file.Size;
    if (! (size in lists))
      lists[size] = [];
    lists[size].push(file.Name);
  }
  return lists;
}
function CompareFileList(folder, list) {
  var len = list.length;
  folder += "\\";
  for (var i = 0; i < len; i++)
    for (var j = i + 1; j < len; j++)
      if (CompareFiles(folder + list[i], folder + list[j]))
        WScript.Echo(list[i] + " == " + list[j]);
}

var folder = ".";
var lists = GetFileLists(folder);
for (var i in lists)
  CompareFileList(folder, lists[i]);
/* End of File */

関数名等が変ですが(^ω^;)

229 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 08:30:05 ]
いや、関数名以前に・・・・・w

230 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 18:55:18 ]
if (Stream1.Read(-1) != Stream2.Read(-1)) {


231 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 04:32:11 ]
COMでIEを操作する際に、JavaScript や <a href="..." target="_blank">...</a> でポップアップして
新たに開いた子IEのオブジェクトを得るにはどうしたら良いでしょうか?


232 名前:sage [2007/10/27(土) 10:52:08 ]
>>204
.NetFrameWorkってwshから使えるの?

233 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 12:34:50 ]
>>232
204ではないが、.NetFrameworkとWSHは別物

ただし、.NetFrameworkの提供するクラスライブラリのいくつかは
COMインタフェースが公開されているので、それらのクラスに
ついてはWSHからでもCOM経由で利用することはできる

234 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 13:41:49 ]
>>231
ShellのWindowsメソッドで列挙してParentが元のと一致するの、と言うのを考えてみたが
泥臭いので検証もしていない

235 名前:デフォルトの名無しさん [2007/10/27(土) 15:14:39 ]
(・∀・)つ●

236 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 22:09:40 ]
つopener



237 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 22:15:18 ]
それは子から親であって親から子ではないんじゃね?

238 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 22:30:35 ]
>>232
たいしたものは使えんよ。
PowerShellなら.NETもWin32APIも使い放題だわ

239 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 22:46:03 ]
>>231
NewWindow3 Event

240 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 21:48:45 ]
WSHじゃ無理だけど
BeforeNavigate2でCancelして別のIEでNaviagte

241 名前:デフォルトの名無しさん [2007/10/29(月) 19:42:35 ]
はじめまして。今、WebからAccessを実行し、それに引数を渡す方法を探しています。
Set objShell = CreateObject("WScript.Shell")
objShell.Run "\\hogehoge\hoge.adp /cmd Hello,World"
イメージとしてはこういう感じかなぁと思いコードを組んでいますが引数を渡す段階まで至っていません。
エラーは出ないのですが、引数がCommand$で受け取れないという状況です。

Accessをフルパスで指定する必要があるのかと思い
objShell.Run """C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE"" ""\\hogehoge\hoge.adp /cmd Hello,World"""
2行目を上記のように変更してみましたが、こちらはHello,Worldまでがファイル名と認識されてしまい、実行できません。

ローカルでなら
"C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" C:\hogehoge\hoge.adp /cmd Hello,World
というショートカットを作成する事でAccessに引数を渡すところまでは行っているのですが。

ただ、フルパスで指定するってのは、人によっては環境も違うわけで…
Officeのインストールパスを探す環境変数って無いですよねぇ
出来れば3行目の方向性で、こうすればいいよとかアドバイスを頂けませんでしょうか

242 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:57:44 ]
>>241
""\\hogehoge\hoge.adp /cmd Hello,World"" の前後の""は要らないのでは。

MSACCESS.EXEのフルパスは
objShell.RegRead "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE"
または
objShell.RegRead "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE\Path" & "MSACCESS.EXE"
で取得できます(上は8.3形式となる)。

243 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 21:09:11 ]
Runするのにフルパスは要らん

244 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 21:23:50 ]
>>242
runしたらその情報が自動的に使われるのでは?

245 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 22:04:02 ]
>>244
Runの仕様上はそうだから、RegReadする必要がないと言えばないですよ

246 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 01:51:30 ]
確かにRunで動かすだけならフルパスは要らないな。
でも、ローカルでコマンドライン引数渡そうとしたらフルパス必要、と。

結局、WebからWSH使って引数渡すにはどうすればいいんだろ?



247 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 02:39:14 ]
だいじょうぶ?

248 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 04:34:44 ]
標準入力

249 名前:241 mailto:sage [2007/10/30(火) 14:17:39 ]
色々アドバイス有難うございました。

>>242さんの意見を参考に組んでみた所、引数を渡せる事を確認しました。

Set objShell = CreateObject("WScript.Shell")
strFile = "\\hoge\hoge.adp"
strPath = objShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE\Path") & "MSACCESS.EXE"
objShell.Run """" & strPath & """ """ & strFile & """ /cmd hoge"

どうも、引数を渡したい場合にはACCESSのフルパスを省略出来ないようで。
単純に実行したいだけならADPファイルのフルパスのみで可能でしたが。

なかなか難産でしたが、ようやく先に進めます。
ありがとうございました。

250 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 15:51:10 ]
わからんやっちゃ

251 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 20:27:52 ]
WMIでthreadの数は分かりますが、どれがなんのthreadか調べるにはどうするのでしょうか?

252 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 22:00:10 ]
意味が分からん
スレッドってもんを正しく認識できてる?

253 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 09:13:48 ]
理解してないだろうね
こういう子には

>>251
1年勉強して出直しなさい

ということで

254 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 14:43:43 ]
Win32_Thread.Name

255 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 00:27:43 ]
WSHで、キーボードのボタンのどれを押したかを取得する方法はないでしょうか?
たとえば、tabボタンやカーソルキーを押した場合を考えています。

256 名前:255 mailto:sage [2007/11/11(日) 00:36:14 ]
追加です。
想定しているのは、while(true){...}のなかに処理が入ったときに、
コンソール上からタブボタンを押すと、while(true)からぬけるようなものです。



257 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 02:30:40 ]
WSHではスレッドが一つなので入力を受け付ける場合は処理を止めなければならない。
WSH(wscript.exe,cscript.exe)を2つ実行して、一方をフラグ的に使えば擬似的に出来ないことも無いが
君が想定してる通りのことはWSHだけでは無理。
COMを自作するって手もあるけど、だったら普通のアプリ作った方がいいだろ。

あとは君が想定してる通りのことを出来るスクリプト言語に乗り換えるとかね。
スレ違いだから具体的な紹介や説明は伏せるけど。

258 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 04:33:32 ]
>>255
pc11.2ch.net/test/read.cgi/tech/1124559962/370-376

259 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 10:24:32 ]
>>258
それ、HTAの場合だよね?

260 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:53:36 ]
WSHに翻訳できない?

261 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 16:29:16 ]
IEの場合、JScriptで ie.document.getEtementsByName('foo')[0] は使えても、
ie.document.getElementByID('foo')[0] はエラーになるんだね。


262 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 17:29:55 ]
JScriptからだと、windowオブジェクトのopenerやparentってもしかして使えない?


263 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 19:16:23 ]
Etements 複数形だし

264 名前:デフォルトの名無しさん [2007/11/16(金) 20:00:56 ]
XPsp2の環境に

>www.imagemagick.org/script/binary-releases.php から
>ImageMagick-6.3.6-10-Q16-windows-dll.exe (32bit版XP等の場合)を
>ダウンロードしてインストール。インストールの過程で
>□ Install ImageMagickObject OLE Control for VBscript, Visual Basic, and WSH
>のチェックを入れてください。

↑のインストールをしました。

その状態で、
var fs = WScript.CreateObject("Scripting.FileSystemObject");
var stream = fs.CreateTextFile("chintama.txt");
with(stream) {
Write("...");
Close();
}
を、a.jsファイルに書いてダブルクリックするとうまく動作しました。

これは↑をインストールしたから動作したのでしょうか?
あるいは、XPsp2の環境のみでも動作するのでしょうか?

265 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 20:54:37 ]
FileSystemObjectはOS標準だな

266 名前:デフォルトの名無しさん [2007/11/16(金) 22:49:07 ]
>>265
レスありがとうございます。
では、JScript、Windows Script 5.6で記述したWSHも、OS標準ですか?



267 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 22:55:00 ]
そうだな
まあWSH標準のオブジェクト群でできることはそんなにないけど

268 名前:デフォルトの名無しさん [2007/11/16(金) 23:05:08 ]
>>267
どうもです。

では、
var fs = WScript.CreateObject("Scripting.FileSystemObject");
var stream = fs.CreateTextFile("chintama.txt");
with(stream) {
Write("...");
Close();
}

これの、1行目、2行目の変数を使わず、全部、with() のカッコの中に押し込めるとすると、どう書けばいいですか?

269 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:10:16 ]
with(WScript.CreateObject("Scripting.FileSystemObject").CreateTextFile("chintama.txt")) {

270 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:15:39 ]
>>264
ImageMagickのImageMagickObject OLE Controlをインストールすると
new ActiveXObject("ImageMagickObject.MagickImage.1");
が使えるようになってWSHからImageMagickの機能が使えるようになるわけだわさ

271 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:50:42 ]
var f=new ActiveXObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName);
WScript.Echo(f.DateLastModified==f.DateLastModified);
なぜ、false(0)?


272 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 00:04:51 ]
>>271
f.DateLastModifiedをDateオブジェクトにしてやればいいのです

var f=new ActiveXObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName);
var d = new Date(f.DateLastModified);
WScript.Echo(d == d);

273 名前:271 mailto:sage [2007/11/17(土) 00:09:49 ]
>>272
ども、でも

var f=new ActiveXObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName);
var d1 = new Date(f.DateLastModified);
var d2 = new Date(f.DateLastModified);
WScript.Echo(d1 == d2);

がやっぱ変

274 名前:272 mailto:sage [2007/11/17(土) 00:18:08 ]
>>273
あ、>>272の比較だとポインタが等しいかどうか比較しているようなものか。

これでokかな

var f=new ActiveXObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName);
var d1 = new Date(f.DateLastModified);
var d2 = new Date(f.DateLastModified);
WScript.Echo(d1.valueOf() == d2.valueOf());

275 名前:271 mailto:sage [2007/11/17(土) 00:33:50 ]
おkです。
>>271の比較も、ポインタが等しいかどうか比較しているようなもの?
でしょうか?

276 名前:272 mailto:sage [2007/11/17(土) 00:48:49 ]
>>275
というよりJScriptがDateLastModifiedの型をサポートしてないってことのような



277 名前:271 mailto:sage [2007/11/17(土) 17:41:07 ]
WScript.Echo(f.DateLastModified-f.DateLastModified);

WScript.Echo((f.DateLastModified>=f.DateLastModified)&&(f.DateLastModified<=f.DateLastModified));
もおk。算術比較はいいみたい。==は算術比較じゃないようで。

278 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 19:22:14 ]
f.DateLastModifiedプロパティが、
毎回日付をラップした新規オブジェクトを返してくるみたいだな。
比較の処理はWin32のVarCmpあたりを使ってるのかも。

FileSystemObjectとか、返すオブジェクトの詳細が書かれていないので結構困る。

279 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 19:34:11 ]
f.DateLastModifiedを整数に変換してやるのもよさげ
var f=new ActiveXObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName);
var d = f.DateLastModified | 0;
WScript.Echo(d);

280 名前:271 mailto:sage [2007/11/18(日) 00:01:07 ]
それなら
WScript.Echo(Number(f.DateLastModified));
ところが、
WScript.Echo(Date(f.DateLastModified));
が変。ずれる。なんでだろ?

281 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 01:27:31 ]
new Date(...) じゃないの?
new無しのは、単に現在日時返ってきてるっぽいな。
JScriptのDateとは違う表記方法だし、メソッドもエラーが出るところを見ると、
VBScript用のDate関数を呼び出してしまっている気がする。

282 名前:264、268 [2007/11/19(月) 04:28:00 ]
>>269
>>270
レスありがとうございます。感謝します。

283 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 20:04:29 ]
>>280
Numberは型だけどDateはオブジェクトだから

284 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 04:53:30 ]
Win2KやWinXP SP2とかだと、
ttp://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/nov04/hey1102.mspx

に書かれている事がどうも嘘っぽいんだけど…
ここに書かれている方法で、Temporary Internet Files を削除出来たって人居る?

Cookieの削除は、Temporary Internet Files に在る、Cookie:username@... を削除しないと駄目みたい。


285 名前:デフォルトの名無しさん [2007/11/21(水) 15:58:49 ]
もしかして
Temporary Internet Files\Content.IE5\ 以下の話してる?


286 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 16:33:08 ]
>>284
ブラウザ終了してないと駄目だよ




287 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 19:11:21 ]
Hey, Scripting Guy!氏はわざとひねった答えを書くのよ。
コピペのままでは動かない、バグ探しのクイズだと思えばいいのよ。

288 名前:デフォルトの名無しさん mailto:sage [2007/11/21(水) 19:48:38 ]
Hey, Scripting GuyのやつはVBSなので
JSに書き換えて使ってる






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

前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