WSH(・∀・)スレッド!
..
13:デフォルトの名無しさん
03/06/08 21:42
ウィルスを作るためのツール?
14:デフォルトの名無しさん
03/06/08 21:42
>>11
それをスレ立てる前に言ってくれ!
無理か。
15:デフォルトの名無しさん
03/06/08 21:43
とりあえず、最終目標としてはBOTもしくはウイルスを作るということでおkかな?
16:デフォルトの名無しさん
03/06/08 21:45
なぜ需要がなかったかというと、Win板にすでに
お前ら、wsh使ってますか? Part2
スレリンク(win板)
というのがあって、そっちの方が盛り上がってたから。
前も結局そっちに誘導して終わった。
17:_
03/06/08 21:45
URLリンク(kame.kakiko.com)
18:デフォルトの名無しさん
03/06/08 21:45
>>15
それじゃぁ、削除対象…
19:デフォルトの名無しさん
03/06/08 21:46
>>16
ヽ(`Д´)ノタテルマエニイエヨ!
20:デフォルトの名無しさん
03/06/08 21:48
>>16
エンドユーザレベルか・・・・
まあ多分UNIX板にもシェルスクリプトのスレがあるんだろうけど。
21:デフォルトの名無しさん
03/06/08 21:48
∧_∧ ∧__∧
_ ( ´∀`(・∀・ )__ < ネタが無いのに立てたんだね。ヴァカみたい♪
|≡( 11 )( 121 )≡|
`┳(__)(__) (__)(__)━┳
,..,..┴,...,...,...,....,....,.....,....,┴,,,,..
22:デフォルトの名無しさん
03/06/08 21:51
そういえばなつかしのI love youウイルスも.vbsだったな
23:デフォルトの名無しさん
03/06/08 21:52
>>21 んなさびしいこというなよぉ。
24:デフォルトの名無しさん
03/06/08 21:52
c.Copy(dirsystem&"LOVE-LETTER-FOR-YOU.TXT.vbs")
25:デフォルトの名無しさん
03/06/08 21:53
>>24
キタキタキタキタキターーーーーーーーーー
|≡( 11 )( 121 )≡|
`┳(__)(__) (__)(__)━┳
26:デフォルトの名無しさん
03/06/08 21:53
>>24 のーとんが猛り狂ったように叫び出す、に10000ぬるぽ
27:デフォルトの名無しさん
03/06/08 21:54
質問厨がなんかこのスレ(板)…と言い出すに 5000ぬるぽ
28:デフォルトの名無しさん
03/06/08 21:54
c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")
29:デフォルトの名無しさん
03/06/08 21:55
そういえば、>>24のコードの意味がいまだにようわからん
30:27
03/06/08 21:55
>>28
ああ、微妙に違ったのね。ダマサレタ!
つか、つまらんですよ。
31:デフォルトの名無しさん
03/06/08 21:58
>>20
だからエンドユーザレベルじゃないと需要ないんだって。
32:エンドユーザー
03/06/08 22:00
ごめんなさい
33:デフォルトの名無しさん
03/06/08 22:02
いや別にエンドユーザが悪いとかじゃなく、このスレに限らず需要無いところに立てても
悲しい結末にしか・・・
34:デフォルトの名無しさん
03/06/08 22:05
>>1さん、漏れもWin板あたりが妥当だと思うんですが…
URLリンク(qb.2ch.net)
35:デフォルトの名無しさん
03/06/08 22:08
>>1
つーことで削除依頼よろすく。
過去ログに消えたスレあるかな。あれば>>13みたいなレスでぐだぐだになって消えたのがわかると思う。
36:デフォルトの名無しさん
03/06/16 12:36
この前、インストーラにexe作るのめんどくさかったから
WSHでファイルコピー&レジストリ登録をするスクリプト書いたら
ノトーン先生に怒られた。
こりゃ、仕事じゃ使えないわ
37:デフォルトの名無しさん
03/06/19 13:58
.vbs で処理しようとすると,ドロップするファイル数に限度があるようです。
回避する方法として,フォルダをドロップしようと考えていますが,
下記のどこを変えたらよいですか?
set arg=wscript.arguments
set fs=createobject("scripting.filesystemobject")
if 0<arg.count then
for each item0 in arg
set file=fs.getfile(item0)
38:デフォルトの名無しさん
03/07/17 15:47
前もWSHスレ立って需要がなくて消えたんだよな
39:デフォルトの名無しさん
03/07/17 17:16
Windows板でやるようなスレだしな。
40:山崎 渉
03/08/02 02:36
(^^)
41:デフォルトの名無しさん
03/08/05 06:45
WSHでhttpを使ってWebサーバにGETやPOSTって出来ますか?
Socketでも構いません。WinInetをラッパーした物があれば万々歳。
42:山崎 渉
03/08/15 16:01
(⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
43:yawa
03/08/16 04:11
HTMLアプリケーションて結構好きだなあ
Mozillaにそれ使ったアプリなかったっけ
44:yawa
03/08/16 04:11
monazillaの間違え
45:デフォルトの名無しさん
03/10/09 00:38
sage保守
46:デフォルトの名無しさん
03/10/14 23:40
固定長のファイルを開いて特定の位置を参照しに行って
そのフィールドの内容が変わったらその内容をファイル
名として保存。
を出来なくなるまで繰り返すと言う構文を誰か作ってくれませんか?
47:デフォルトの名無しさん
03/10/18 06:06
>>46
スレの前半のほうに書いてあるがWin板のお前ら、WindowsScripting使ってますか?を利用したほうがいいのでは?
多分、向こうに書き込めば11さん辺りが作ってくれるかもしれないですよ。
現行スレは多分スレリンク(win板)です。
48:デフォルトの名無しさん
03/10/22 04:01
現在起動中のプログラムの一覧を取得する方法を教えてください
タスクマネージャで見れる程度の情報がリストにできればいいです
49:スレの終了ダイアログを開いています…
03/12/06 19:40
---------(begin)---------(ShutDown.js)---------(begin)---------
(WScript.CreateObject("Shell.Application")).ShutdownWindows();
---------( end )---------(ShutDown.js)---------( end )---------
50:デフォルトの名無しさん
04/01/11 02:24
WScript.Sleep(100000000);
51:デフォルトの名無しさん
04/02/27 00:59
ホシュ
52:デフォルトの名無しさん
04/02/27 01:17
このスレのおかげでウィルスチェックが効いてウザ杉。
読めねえ。
53:デフォルトの名無しさん
04/02/27 18:49
意味わからん
54:デフォルトの名無しさん
04/03/03 21:47
WScript.Echo("わかれ");
55:デフォルトの名無しさん
04/04/27 09:44
お前ら、WindowsScripting使ってますか? Part3
スレリンク(win板)l50
56:デフォルトの名無しさん
04/06/19 03:59
テキストファイルの印刷って出来ませんか?
最終的には、WWWサーバで印刷したいのですが
URLリンク(www.microsoft.com)
に書かれているAddPrinterConnectionやAddWindowsPrinterConnectionを使用しても、
プリンタが見つかりません。のエラーになります。
EnumPrinterConnections で取得したプリンタ名を設定しても
エラーとなります。
どなたか教えてください。
57:デフォルトの名無しさん
04/06/25 10:01
notepad /p
58:デフォルトの名無しさん
04/07/24 19:18
.batファイルよりもWSH使った方が色々出来そうだね。
59:デフォルトの名無しさん
04/08/08 02:43
set shell = createobject("wscript.shell")
do
ret=shell.Popup("sage",1,,0)
loop
60:デフォルトの名無しさん
04/08/08 11:00
∧ ∧
(*・∀・*) イヤン
/ ,ノ⌒ヾ、
⊂⊂、___(_,つ
61:デフォルトの名無しさん
04/08/18 05:45
(:.;゚;Д;゚;.:)ハァハァ
62:デフォルトの名無しさん
04/08/19 07:42
SendToでショートカット渡すとリンク先のファイルのあるディレクトリをExplorerで開くスクリプトってどうやって書けばいいの?
63:デフォルトの名無しさん
04/08/19 07:48
open
64:pakuchan
04/08/19 09:45
Windowsのログオン時に,パスワードをキーボードから入力しますが,これを
RS232CやUSBで接続した認証用センサ(例えば指紋センサ)による認証方式
にするための方法について調べています.
別スレで同じような質問をし,サービスプログラムの作成が必要でないかと
コメントをいただいたのですが,サービスプログラムについてもよくわかりません.
まず,サービスプログラムで可能なのか,また可能であれば作成方法について教え
ていただけないでしょうか?
65:デフォルトの名無しさん
04/08/19 09:51
ハードは外から買って来るんだろ?
普通ハードにSDKやソフトウェアがついてると思うが。
66:pakuchan
04/08/19 10:20
具体的なところでICカードを考えているんですが,リーダーの制御コマンドしか
公開されていません.
67:デフォルトの名無しさん
04/08/19 12:33
WindowsNT系OSはログオンにGINA APIを使う。
URLリンク(www.cisnet.or.jp)
GINAのサードパーティ製品(SDK?)あるようだがよくらん。
あとすれ違い。
68:pakuchan
04/08/19 15:13
GINAについての情報有難うございました.
69:デフォルトの名無しさん
04/08/20 12:51
>>62
if (WScript.Arguments.length != 1) WScript.Quit();
var file = WScript.Arguments(0);
var folder = file.substr(0, file.lastIndexOf("\\"));
var shell = WScript.CreateObject("Shell.Application");
var shFolderItems = shell.NameSpace(folder).Items();
for (var i = 0; i < shFolderItems.Count; i++) {
var item = shFolderItems.Item(i);
if(item.Path == file) {
if (item.IsLink) {
var target = item.GetLink.Target;
shell.ShellExecute("explorer.exe", "/select,\"" + target.Path +"\"");
} else {
shell.ShellExecute("explorer.exe", "/select,\"" + file + "\"");
}
break;
}
}
70:デフォルトの名無しさん
04/08/25 12:50
VBScriptでGUIDは作れんですか?
71:デフォルトの名無しさん
04/10/26 21:29:41
すでに起動しているアプリケーション(ウィンドウ)を
ひとつだけ最小化させるWSHプログラムは組めますか?
アプリケーション名はわかりますが、
ウィンドウ名は先頭から10数文字までは固定ですが
その後ろは不定なので正規表現とかで指定になると思います
72:デフォルトの名無しさん
04/10/27 00:26:03
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate("Title")
WScript.Sleep 100
WshShell.SendKeys("%( N)")
73:デフォルトの名無しさん
04/10/27 06:54:57
クリップボードにStringを書き込み方法を教えてください。
74:デフォルトの名無しさん
04/10/27 09:45:57
>>72
(゚∀゚)サンクスコ
75:71
04/10/27 10:02:28
>>72
この方法だと、対象アプリがすでに最小化されていたときにも
一度フォアグラウンドに引っ張ってきて、その上で最小化しますね
またSendkeyはフォアグラウンドのアプリに送られるっぽいから
対象アプリが最前面に来る前に100ms経ってしまうと
違うアプリが最小化されてしまいました
直接対象アプリにSendkeyするのってなんか方法ありましたっけ?
76:72
04/10/27 10:30:43
>>75
多分無理かと。
適当にSleepの時間を調整するしかないのでは?
>>73
var str = "hoge";
var ie = WScript.CreateObject("InternetExplorer.Application");
ie.Navigate("about:blank");
while(ie.Busy){ WScript.Sleep(100); }
ie.Document.parentWindow.clipboardData.setData("text", str);
ie.Quit();
by googleの検索結果の上から3番目くらい(特殊文字の処理は省略)
一番上に出てくるやつをダウンロードしてもいいと思うけど。
77:71
04/10/27 13:01:09
たまに、最前面に出てきてもアクティブにならないときもあり
そのときはsleep時間延ばしてても全然違うアプリが閉じてしまう。
むぅぅ。これ以上はWSHでは無理っぽ?
78:デフォルトの名無しさん
04/10/27 21:26:28
>>76
ありがとうございます。
調べたときにIEとか出てきて「なぜ?」って疑問も
教えてもらったclipboardDataからぐぐって
IE呼び出してるんだろうって謎も解けました。
79:デフォルトの名無しさん
04/10/31 01:55:53
>>76 とても、ためになりました。
str = "hoge"
Set ie = WScript.CreateObject("InternetExplorer.Application")
ie.Navigate("about:blank")
Do While ie.Busy = True
WScript.Sleep(100)
Loop
Dummy = ie.Document.parentWindow.clipboardData.setData("text", str)
ie.Quit()
当方、VBS派ですが、期待した動作でした。
これまで、IEが立ち上がって来るのかと思って使ってませんでした。
これまでは、VBO4WSH.EXE で、VBのClipboadObj を使えるように
してました。
便利だけど、インストールしないといけないのが面倒なんですよね。
URLリンク(rd.vector.co.jp)
80:79
04/10/31 08:22:25
SendKeys を使って、"~"や"%" を送ろうとしても、それぞれ、[Enter]や[Alt] に変換されてしまって、
ファイル名のダイアログボックスに、名前を上手く入力できず困っていました。
でも、Clipboard の中に SetData("~ %") しておいて、Sendkeys("^V")《貼り付け》
してしまえば、上手く行きそうな気がしてきました。
まだ試してないけど、あとでためしてみます。
問題を解くきっかけを作っていただき、ありがとうございました。
81:デフォルトの名無しさん
04/10/31 12:13:38
>>80
URLリンク(www.microsoft.com)
82:デフォルトの名無しさん
04/11/02 16:50:19
CreateObjectもできて
dir /b | sortとかもできるWSHなスクリプトってないの?
VBSってすごい面倒。
83:デフォルトの名無しさん
04/11/03 22:56:06
WSHでセキュリティのイベントログを削除するスクリプトを
perlで作ったですがエラーがでて困ってます。
# cscript script.pls
でコマンド実行すると
# PerlScript Error: (in cleanup) Can't call method "ClearEventlog" on an undefined value
とエラーになります。
環境はWindows XPにActivePerl 5.8.4です。
どこが悪いのでしょうか。改善点をお願いします。
以下ソースです。
use Win32::OLE;
open(LOG, "eventquery.vbs /v /fo csv /l Security |");
@data = <LOG>;
close(LOG);
$strComputer = ".";
$wmi = Win32::OLE->GetObject(
"WinMgmts:{impersonationLevel=impersonate}!//" .
"$strComputer\\root\\cimv2"
);
$colLogs = $wmi->ExecNortificaitonQuery(
"Select * from Win32_NTEventLogFile where LogFileName='Security'"
);
foreach $objEvent ($colLogs) {
$objEvent->ClearEventLog();
}
84:80
04/11/04 00:24:57
>>81
どうもありがとうございます。こんな仕様になっていたのですね。
clipboard でのテキスト処理も使えるし、Sendkeys も小技が利くしで、
私のやりたい事の9割方は、WSHでほとんど事足りてしまいます。
85:デフォルトの名無しさん
04/11/06 05:42:20
>>83
何やってるのか知らんけど、colLogsが配列なら$じゃなくて@colLogsなのでは?
もし配列へのポインタなら、foreachで使うところで @$colLogs にするとか。
いずれにせよスカラー値がforeachの中にあるのは気持ち悪い。
ってWSHの話じゃないじゃん・・・
86:83
04/11/06 09:55:39
>>85
エラーの場所がClearEventLog()メソッド呼び出しのところなのでWSHスレッドで良いのかなと。
VBSなら ClearEventLog() でイベントログを削除出来るはずなんですけど
perlでやろうとするとエラーになるので何故かと思って。(perl使うなって話はなしで)
87:デフォルトの名無しさん
04/11/07 16:06:26
>>86 (>>83)
おまえ人の話聞いてないだろ。もっと >>85 の言ってることちゃんと考えろや。
foreach $objEvent ($colLogs) {
$objEvent->ClearEventLog();
}
$objEvent が undefined だから
# PerlScript Error: (in cleanup) Can't call method "ClearEventlog" on an undefined value
になるのは当たり前だろ。
88:83
04/11/08 00:18:45
>>87
foreach の ( ) の中を @colLogs としても同じく "undefined value" とエラーがでます。
@$colLogs とすると実行は出来たのですが foreach の中の処理をしてくれません。(実行しても何も起こらない)
WMIの呼び出しが間違っているんですかね?
perlでWMI扱う情報がweb上にほとんどなく、
どうすればいいのかよくわからないので知恵を貸してください。
追加で質問なんですが、文字コード/改行コードはEUC-JP/CRLFでよろしいんですか?
89:83
04/11/08 00:25:04
ちなみにwebで見つけたVBでログをクリアする方法です(バックアップする処理も含まれていますが)
perlへ移植するにはどうすればよいでしょう
----------------------------------------------------------------
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Backup)}!\\" & _
strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName='Application'")
For Each objLogfile in colLogFiles
objLogFile.BackupEventLog("c:\scripts\" & strBackupName & _
"_application.evt")
objLogFile.ClearEventLog()
Next
90:デフォルトの名無しさん
04/11/08 06:13:37
>>89
SQL使える人ならできるだろ
91:85
04/11/08 06:28:52
>>83
できたぞ。喜べ。
検索キーワードは「"Win32::OLE" コレクション」。
OLEの世界のコレクションはperlの世界では単なるポインタなので、
そのままではループをまわせない。
それをどうやって扱うのか?
専用のWin32::OLE::Enumモジュールを使えばいいらしい。
以下コード。
use Win32::OLE;
use Win32::OLE::Enum;
$strComputer = ".";
$objWMIService = Win32::OLE->GetObject(
"winmgmts:{impersonationLevel=impersonate,(Backup)}!\\\\".
"$strComputer\\root\\cimv2");
$colLogFiles = $objWMIService->ExecQuery
("Select * from Win32_NTEventLogFile where LogFileName='Application'");
$enum = Win32::OLE::Enum->new($colLogFiles);
while (defined($item = $enum->Next)) {
$item->BackupEventLog("c:\\scripts\\test_application.evt");
$item->ClearEventLog();
}
92:デフォルトの名無しさん
04/11/08 14:20:32
すげー
93:デフォルトの名無しさん
04/11/08 18:03:32
結論、VBS使え。
94:83
04/11/10 10:39:32
>>91
おおぉお!ありがとうございます!感動して目の前が潤んでいます
perlのポインタの扱いについてよく理解できてませんでした。
精進します ありがとうございました
95:デフォルトの名無しさん
04/11/17 11:36:35
JScriptから、INIファイルを読みたいのですが何かいい方法はないでしょうか?
Win32APIでいうならgetPrivateProfileStringみたいなのを探しています。
よろしくお願いします。
96:デフォルトの名無しさん
04/11/17 18:02:53
素直にFSOでテキストファイル処理してもたいした手間じゃないと思うけど。
97:デフォルトの名無しさん
04/11/18 01:18:26
ウィンドウの無いプロセスを終了→起動させたいのだけど、
終了のさせ方がわかりません。ウィンドウがあれば、
>>72でできそうなんですが。
98:デフォルトの名無しさん
04/11/18 02:34:30
>>97
WMI を使う。
URLリンク(www.microsoft.com)
99:97
04/11/20 01:43:21
>>98 有難う! と言いたいのですが、WSHでないのが残念! です。
100:デフォルトの名無しさん
04/11/20 03:18:16
そいつは残念だ。
101:デフォルトの名無しさん
04/11/22 15:07:28
102:デフォルトの名無しさん
04/12/27 21:23:04
103:デフォルトの名無しさん
05/01/12 07:48:35
msgbox("新年あけましておめでとうございます")
104:デフォルトの名無しさん
05/01/12 17:42:38
質問スマソ。WSHでIEオブジェクトを扱った時、ページ内のJavaScript Functionって
呼べないのかな・・
105:デフォルトの名無しさん
05/01/12 23:23:14
IEオブジェクトはWindows 2000である条件のもとだと使えネェな。
といってもその条件が特殊だからあんま意味ないか。
106:デフォルトの名無しさん
05/01/12 23:37:41
>>104
ページ内のスクリプト各関数は
大抵ボタンやリンクのonClickなんかに関連づけられてるから
そのイベントをfireEventするってのは?
107:デフォルトの名無しさん
05/01/21 00:49:26
すみません、全くの初心者なんですが、Wordのマクロから、
別のところに保存してある.vbsファイルを実行したいのです。
(要はWordで今選択している単語を、
コピーして別のアプリのウインドウに貼付けしたい)
Wordのマクロでとりあえず
Selection.Copy
でコピーはできたのですが、その後、
(1)別のアプリの起動
(2)そのアプリへの貼付け
がどうやるかわかりません。
どなたかどうぞよろしくお願いします。
108:デフォルトの名無しさん
05/01/21 00:57:43
shell
sendkey
109:デフォルトの名無しさん
05/01/21 00:58:57
>107
WScript.Run
Sendkey
110:デフォルトの名無しさん
05/01/21 01:15:59
WSHがマルチスレッドに対応!
かと思って
ぅぉ
っと声を上げてクリックしてしもたorz
111:デフォルトの名無しさん
05/02/25 06:44:32
スレリンク(hosp板:14-番)
このスレッドの14番、15番は、
URLリンク(www.roy.hi-ho.ne.jp)
ここで、公開されているスクリプトです。
このスクリプトを変形して、
フォルダ内(1層でいい)のファイル名+サイズをテキストに書き出したいです。
ツリー構造はいりません。
私は、シェルうんぬんでわけがわからなくなりました。
虫のいい話ですが、どなたかお助け下さい。
112:デフォルトの名無しさん
05/02/25 07:05:15
>111
ややこしいと思うならshellを使わずにD&Dのみで作ればいいんじゃない?
ツリー構造いらないならそんなに難しいものでもないが。
113:111
05/02/25 07:18:11
>>112
これを機会にWSHを身に着けたいんです。
114:デフォルトの名無しさん
05/02/25 07:27:01
|д・)つC:\>tree TARGET_DIR /a /f > OUT_FILE
115:111
05/02/25 08:00:18
どうも有り難うございます。 >>114
つーか、私が最終的にやりたい事は、
ターゲットのフォルダに、
なっち.jpg 2.100 KB
あやや.mp3 45.777KB
つんく.txt 300KB
‥‥
とあったら、別のフォルダに、
なっち.jpg 2.100
あやや.mp3 45.777
つんく.txt 300
‥‥
とゆう名の0KBのテキストファイルを作りたいんです。
これを1発でやるには、WSHが最適だと思うのですが、どうでしょう?
116:デフォルトの名無しさん
05/02/25 10:02:49
>>115
そうですね。そう思います。
117:114
05/02/25 10:07:24
ちゃんと読んでなかった。流して。
そんなに難しいことじゃないので、そのうち自己解決するでしょう。
あと、どこがわからないのかを書くといいと思う。
118:111
05/02/25 10:08:13
URLリンク(www.roy.hi-ho.ne.jp)
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")
これは、1行目でWSHShellの変数の宣言をしてから、セットしてるのに、
スレリンク(hosp板:14-番)
Dim sLine,sRootDir,sOutFile
Set Fs = WScript.CreateObject("Scripting.FileSystemObject")
Set Shell = WScript.CreateObject("Shell.Application")
これは、Fs、Shellを変数の宣言をしないでセットしてるのが疑問です。
119:111
05/02/25 11:08:25
スレリンク(hosp板:14-番)
Search oRootDir.Items.Item 'oRootDir.Self 'Win2000の場合
'はレム文の始まりだと思うけど、何で1行に2つあるのか、わかりません。
120:111
05/02/25 11:24:41
つーか、大昔にクイックCをちょこっとだけ、かじった事があるんですが、
始めから、
WScript.Echo "終了"
ここまでが、メイン関数
Sub Search(obj)
ここから最後までが、呼ばれる関数ですよね?
で、
Search oRootDir.Items.Item 'oRootDir.Self 'Win2000の場合
ってことは、Win2000以外の場合は、Search(obj)を使わない、って事ですか?
121:デフォルトの名無しさん
05/02/25 12:36:50
>>118
BASICは変数宣言しなくてもいいのです。
>>119-200
Win2000の場合は
Search oRootDir.Self
にしろって意味です。
122:401
05/02/25 23:26:19
>>121
そうですか、レス有り難うございます。
スレリンク(hosp板:14-番)
つーか、誰かこのスクリプトを削って、
フォルダ内(1層でいい)のファイル名+サイズをテキストに書き出すのみのスクリプトを書いてくれないかな?
複雑すぎてわかりません。
123:デフォルトの名無しさん
05/02/26 00:02:25
>>122
Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.GetFolder(InputBox("コピー元フォルダ"))
Set dest = fso.GetFolder(InputBox("コピー先フォルダ"))
For Each f In src.Files
Set ts = dest.CreateTextFile(f.Name & " " & f.Size, False)
ts.Close
Next
124:111
05/02/26 01:49:25
>>123
うわあー、すばらしい、有難うございます。 感謝感謝です。
これで、HDDの整理に取り掛かれます。 感激です。
125:111
05/02/26 22:00:52
すみません、更なるお願いです。
>Set src = fso.GetFolder(InputBox("コピー元フォルダ"))
コピー元フォルダを自分で入力するのが面倒。マウスだけで入力したい。
>Set dest = fso.GetFolder(InputBox("コピー先フォルダ"))
これも面倒。自動で、C:\COPYフォルダ作りそこに入れて欲しい。
あと、ターゲットのフォルダに、
なっち.jpg 2.100 KB
あやや.mp3 45.777KB
つんく.txt 300KB
‥‥
とあったら、別のフォルダに、
なっち 2.100
あやや 45.777
つんく 300
‥‥
と、元のファイルの拡張子は省略して欲しい。
どうでしょうか?
126:デフォルトの名無しさん
05/02/26 22:57:43
>>125
「自分で入力するのが面倒。マウスだけで入力したい。」という君に
URLリンク(www.vector.co.jp)
「これも面倒。自動で、C:\COPYフォルダ作り」という君に
URLリンク(www.vector.co.jp)
127:111
05/02/26 23:09:58
URLリンク(www.roy.hi-ho.ne.jp)
Set Shell=Wscript.CreateObject("Shell.Application")
Set f=Shell.BrowseForFolder(0,"フォルダを選んでください")
MsgBox f.Items.Item.Path '選択したフォルダ名を表示
これを試してみると、2行目、文字1で、引数の数が一致していません。または不正なプロパティをしていしています。
'Shell.BrowseForFolder' コード、800A01C2 ソース、VBScript 実行時エラー
となってしまいます。
128:111
05/02/26 23:11:45
WSHで、お願いします。 >>126
129:111
05/02/26 23:21:27
つか、>>127は解決しました。2行目が間違いでした。
Set f=Shell.BrowseForFolder(0,"フォルダを選んでください",0)
引き続き、>>125をお願いします。
130:111
05/02/26 23:50:16
>>123さんのソースをいじって、
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set Shell=Wscript.CreateObject("Shell.Application")
Set MOTOf=Shell.BrowseForFolder(0,"コピー元フォルダを選んでください",0)
Set dest = fso.GetFolder(InputBox("コピー先フォルダ"))
For Each f In MOTOf.Files
Set ts = dest.CreateTextFile(f.Name & " " & f.Size, False)
ts.Close
Next
とやってみました。コピー先フォルダの入力までは出来るんですが、
それ以後、エラーが出ます。
行5、文字1、オブジェクトでサポートされていないプロパティまたはめそっどです。
'MOTOf.Files' コード、800A01B6 ソース、VBScript 実行時エラー
となってしまいます。
131:デフォルトの名無しさん
05/02/27 00:02:07
>111
つか、これを機会にWSHを身に着けたい、と言うなら、
1日ぐらいは自分で悩んで手を動かしてぐぐってトライアンドエラーを繰り返してみなさい。
それでどうしてもわからなければ聞きに来れば誰か教えてくれるかも知れない。
132:デフォルトの名無しさん
05/02/27 00:04:24
copyFolder = "C:\COPY"
Set objShell = CreateObject("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(copyFolder) Then
fso.CreateFolder(copyFolder)
End If
Set objFolder = objShell.BrowseForFolder( 0, "フォルダ選択", 0 )
If objFolder is nothing Then
WScript.Quit
End If
Set file = fso.CreateTextFile( copyFolder & "\FILES.TXT", True )
Set objFolderItems = objFolder.Items
For Each f In objFolderItems
If Not f.IsFolder Then
file.WriteLine( f.Name & vbTab & f.Size )
bname = fso.GetBaseName(f.Path)
name = copyFolder & "\" & bname & " " & f.Size
fso.CopyFile f.Path, name
fso.DeleteFile(f.Path)
End If
Next
133:111
05/02/27 00:11:18
>>132
おお、有難うございます。ちゃんと動きました。 感謝します。
134:デフォルトの名無しさん
05/02/27 00:53:13
>>111
・・・勉強しろよ
135:111
05/02/27 02:02:36
>>134
へぇ、勉強します。 つか、なんで>>130がエラーになるのか説明出来ますか?
136:デフォルトの名無しさん
05/02/27 02:23:55
>135
ぐぐってる?
BrowseForFolderで取得できるFolderオブジェクトと
FileSystemObjectのFolderオブジェクトとは別のものだから。
BrowseForFolderのFolderオブジェクトにはFilesコレクションがない。
137:デフォルトの名無しさん
05/02/27 03:00:10
ここは111様にみんなで貢献するスレッドです。
勉強しろとかぐだぐだ言わずに、111様がお聞きになられたことに素早く答えましょう。
138:111
05/02/27 03:54:04
>>136
要するに、2つの系列の異なるオブジェクト間でのデータのやり取りが出来ない、ってことですか?
だから、>>132のプログラムは
苦肉の策として、テキストファイルにデータを書き出し、それを再読してる、と。
これってビジュアルベーシックの仕様ですか?
139:111
05/02/27 04:00:31
とはゆうものの、>>123さんと>>132さんには非常に感謝してます。
140:デフォルトの名無しさん
05/02/27 04:17:52
>138
違う。
Shell.ApplicationとScripting.FileSystemObjectにはたまたま同じ「Folder」という
名前のオブジェクトがあってよく似た構造をしてるけど、実際には全く違うもの。
だから当然使い方も違う。
BrowseForFolderのFolderオブジェクトはFilesというプロパティはない。
BrowseForFolderのFolderオブジェクトからはItemsというコレクションで取得して
FileかFolderかを判別する必要があるの。
FileSystemObjectから取得したFolderオブジェクトであれば>130でOKだった。
141:デフォルトの名無しさん
05/02/27 10:20:02
>>111
(ry
142:デフォルトの名無しさん
05/02/27 12:54:11
>>111
早く死ねよお前
143:デフォルトの名無しさん
05/03/01 06:12:31
WSHか…
仕事中にコソーリ、トランプゲーム組む時に使う程度かな
一見エディタ開いてコード書いてるわけだが、
んなことしてるなんざ、周りに言えないな…w
144:111
05/03/02 11:56:42
>>132
つか、これ俺の希望とは違うわ。
ターゲットのフォルダに、
なっち.jpg 2.100 KB
あやや.mp3 45.777KB
つんく.txt 300KB
‥‥
とあったら、別のフォルダに、
なっち 2.100
あやや 45.777
つんく 300
‥‥
と、拡張子のない、0BYTEのテキストファイルを作って欲しい
あと、元ファイルは消さない
です。
145:デフォルトの名無しさん
05/03/02 12:07:36
>>144
あなたの主張は理解できました。
がんばってくださいね
146:デフォルトの名無しさん
05/03/02 13:33:44
@echo off
for %%I in (%1\*.*) do type nul>"%2\%%~nI %%~zI"
147:デフォルトの名無しさん
05/03/02 19:38:35
ここは111様にみんなで貢献するスレッドです。
勉強しろとかぐだぐだ言わずに、111様がお聞きになられたことに素早く答えましょう。
148:デフォルトの名無しさん
05/03/02 23:27:09
132は111が戻ってこれないよう元ファイルだけじゃなくて
全てのファイルを消すようにしておきゃよかったのに。
149:デフォルトの名無しさん
05/03/03 01:26:38
どっかに「リクに答えてスクリプトを作るスレ」って無かったっけ?
150:デフォルトの名無しさん
05/03/03 02:22:33
ソフト板にあったような。スクリプト限定じゃないけど
151:デフォルトの名無しさん
05/03/03 02:51:37
「こんな」でスレ検索するとごろごろ引っかかるな。
152:デフォルトの名無しさん
05/03/03 04:52:36
スレリンク(tech板)
スレリンク(tech板)
153:デフォルトの名無しさん
05/03/05 06:11:22
すみません。Irvineスレで聞くべきなんですが、全く、反応が無いんです。
IrvineのRegistDateやSuccessDateのフォーマットって何なのかご存知の方、いらっしゃいますでしょうか?
154:デフォルトの名無しさん
05/03/11 03:28:55
ここ何のスレだっけ?
155:デフォルトの名無しさん
05/03/11 07:33:15
ソフト起動は以下のコマンドでやっているのですが。
ソフトを終了させるのは、どのように記述すればいいのでしょうか。
set ws = CreateObject("WScript.Shell")
ws.Run " "
初歩的な質問で恐縮なんですが、よろしくお願いします。
156:デフォルトの名無しさん
05/03/11 07:44:47
>155
終了を待つことはできるけど、終了させることはできない。
SendkeysでALT+F4とか。
157:デフォルトの名無しさん
05/03/11 08:12:13
RunでなくてExec使えば?
Terminateあるよ。
158:デフォルトの名無しさん
05/03/11 10:34:44
>>156
>>157
ありがとうございます。それでやってみます。
159:デフォルトの名無しさん
05/03/12 03:31:39
IISでCGIの処理にWSHを使おうと思っているのですが、
スクリプトは正常に動いているのにURLから実行すると
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
CScript エラー: 設定の読み込みに失敗しました。 (アクセスが拒否されました。
)
というエラーが出てきてしまいます。
IIS側の設定でスクリプトマッピングは
拡張子 .XXX
実行ファイルのパス C:\winnt\system32\cscript.exe //nologo %s
みたいにしているのですが・・・
160:デフォルトの名無しさん
05/03/12 07:04:38
IUSR_XXXX
IWAM_XXXX
をAdministratorsに汁
URLリンク(www.users.gr.jp)
URLリンク(www.roy.hi-ho.ne.jp)
161:153
05/03/12 09:20:14
>154
どうもすみません。それでは質問を少し変えさせていただきます。
RegistDateというのは、ダウンロードの開始日時を表すdouble値なのですが、例えば、
38387.3075909722
というのが、Irvineの画面では
2005/02/04 07:22:55
と表示されています。
38394.2332972222
の場合が
2005/02/11 05:35:56
と表示されます。
おそらく、いつか特定の年月日からの経過秒数とかそういう値だと思うのですが、longでなくdoubleだというのが私には謎です。
日時を扱ったことのあるプログラマの方々、double形式が出てくることに何か心当たりはないでしょうか・・・?
162:デフォルトの名無しさん
05/03/12 09:34:35
(02/11 05:35) - (02/04 07:22) = 6日と22時間
(38394.23329) - (38387.30759) = 6.927
163:デフォルトの名無しさん
05/03/12 09:45:56
>161
date型は内部的にはdouble型で扱ってる。
dbldate=38387.3075909722
call msgbox(CDate(dbldate))
164:デフォルトの名無しさん
05/03/12 22:41:56
>>162-163
「何でdoubleを使ってるのか?」
という質問の答えになっていないと思う。
165:デフォルトの名無しさん
05/03/13 01:00:37
>>164
long だと 2038年1月18日までしか数えられないから。
こんなカンジの答えを希望?
166:161
05/03/13 06:08:57
CDate()で変換できるのですか!
うーん、奇妙!
ビット数の関係でdoubleなのでは、とは思っていましたが・・・
WSH(VBScript?)のdoubleって何バイトでしたっけ?
どうもありがとうございました。
167:デフォルトの名無しさん
05/03/13 10:28:55
>166
64bit
168:デフォルトの名無しさん
05/03/13 18:28:40
>>166
8バイト
169:デフォルトの名無しさん
05/03/16 05:41:48
自分で作ったアプリを WSH で制御しようとおもったら,
あらかじめ決められたインターフェイスを持った COM オブジェクトにしないとダメってことですか?
ってことは, C# で作っているアプリを WSH で制御できるようにするのは難しい?
170:デフォルトの名無しさん
05/03/16 05:55:19
HWNDを元に考えられる限りの窓遠隔操作機能を持ったCOMを誰か作ってくれないかな。
171:デフォルトの名無しさん
05/03/17 09:34:26
DynaCall
172:デフォルトの名無しさん
05/03/20 05:27:53
私、VBSしかわからないんですが、DateオブジェクトってどうしてJSでしか使えないんですか?
173:デフォルトの名無しさん
05/03/20 10:38:22
>>172
使えますよ。
<job>
<script language="JScript">
dt = new Date();
</script>
<script language="VBScript">
MsgBox dt.toUTCString()
</script>
</job>
174:デフォルトの名無しさん
05/03/20 16:02:18
>>43
XULのこと?HTAとは激しく別物かと思いますよ
HTAは通常のDHTMLを使ったWebページと同じくscriptタグ中に埋め込まれた
JScriptやVBSを呼び出すことで動作を表現する。
XULはそれ自体がXML準拠の構文でプログラムの動作を記述したもので
Mozillaのコアエンジンを通して実行される
と解釈してるが
175:デフォルトの名無しさん
05/03/26 14:25:44
>>173
同じ例に汁。
176:デフォルトの名無しさん
05/04/03 14:18:22
>>173
1年前の書き込みにレスしてどうする
177:デフォルトの名無しさん
05/04/03 14:19:04
アンカーミス>>733→>>734
178:デフォルトの名無しさん
05/04/03 23:39:59
>177
いつへのアンカーなんだよw
179:デフォルトの名無しさん
05/04/04 08:56:57
このペースだと6年後くらいだな。
180:176
05/04/04 17:04:29
はずぃ>自分
181:デフォルトの名無しさん
05/04/05 23:58:34
取得した文字列の中身が全部 US ASCIIかどうかチェックしたいのですが、何かいい方法ないでしょうか?
CだとIsAscii()があるのですがWSHだとないので。。。。
182:デフォルトの名無しさん
05/04/06 13:13:55
>>181
アルファベットまたは数字、いくつかの記号
にマッチするか調べればいいんじゃない?
183:デフォルトの名無しさん
05/04/07 01:05:54
181だけど事故解決しました
面倒くさがらずに自分で作らないとだめだね
CHRつかうのとREGEXP使うのとどっちがパフォーマンスいいのかなあ
どぴゅ
184:デフォルトの名無しさん
05/04/09 00:02:19
( ゚д゚)ノ ハイ!質問です!
msgbox 2^64
を実行すると
1.84467440737096E+19
と表示されます。
15桁を超えるものは指数を使って表示されるようですが、整数で表示する事は出来ますか?
185:デフォルトの名無しさん
05/04/09 00:45:39
文字列に変換
186:184
05/04/09 00:50:30
>>185
文字列に変換は、Cstr() ですか?
Cstrは試して見ましたが、表示に変化はありませんでした。
それとも他の方法でしょうか?
187:デフォルトの名無しさん
05/04/09 01:43:09
多倍長整数使えよ
188:デフォルトの名無しさん
05/04/09 11:05:17
変換したら加工せにゃ
189:デフォルトの名無しさん
05/04/16 15:48:13
質問です。
あるフォルダ2つのファイルを比較します。
2つのフォルダの拡張子は例としてtxtとvbsです。
拡張子がちがう同じファイル名のファイルの
最終更新日時を比較します。ファイル名は大量の為特定できません。
比較してvbsのほうが日付が古ければ
エラーとしてテキストファイルに書き出す
という、vbsを作りたいのですがどなたかわかりますか?
190:デフォルトの名無しさん
05/04/16 16:23:36
>189
1.フォルダAとフォルダBがある。
(フォルダAには拡張子vbsのファイルが、フォルダBには拡張子txtのファイルが入っている)
2.フォルダAからファイルをひとつ取り出す
3.フォルダBから拡張子を除いた部分の名前が同じファイルを探す
4.フォルダAとフォルダBのファイルの更新日時を比較して、
フォルダAのファイルが古ければテキストファイルにエラーを出力。
5.フォルダAのファイルが無くなるまで2〜4を繰り返す
こういうフローでいいならできる。
191:デフォルトの名無しさん
05/04/16 17:52:35
>>190
できたら作ってくれませんか?m(__)m
192:デフォルトの名無しさん
05/04/16 17:56:50
>>191
逝ってよし。
193:デフォルトの名無しさん
05/04/16 21:48:46
_,ノ‐''''''^^^¨¨¨⌒ ̄⌒^^''¬-、,_
._v-''¨` .,,vー─-、 .,,vー─-、 .¨'ーu_
_ノ'″ ./′ ¨┐ ./ ゙┐ .゙'┐
,/′ ./ ̄''''-¬,,,,__.ミ .i |,,,,___ ..) ゙\
,/′ λ | ( ・ )| } .¨'ーu,, | \
./′ 八,、-ミ.ノ‐''''''^^ ̄./¨レ .人,_ ミ
.,ノ′ ._ノU' \_ ._,rlト冖へy _/ ¨'‐u .゙lr
.,i′ /ー-v、.,,_ ¨^^¨´〔 〕.¨^^¨′ __.,、 ゙\. {
〕 ./′ .⌒''''' \,,,,,,ノ′ v-ー'''¨ .λ ゙┐ } __________
| ノ .λ──ー } __,,.,、v;(_)ー'' {..] /
| :| | | .! ` .}} < きがるにいってくれるなあ。
} .| .U-:;:冖^ ̄ .| ¨¨¨¨¨ ̄¨¨′ ミ} \
.| .} _,,,,,vvl''''¨¨|^^⌒|¨¨''''lvv,_ }  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
). . 〕 ,,、-v~| .| | | |''T^i-,,_ /
.{ ). ., r'z::''''~゙(~~ ̄ ̄ ̄ ̄ ̄ ̄~~~`^^^^''''¬;;;_ ノ
ミ. `i, , `'' /
゙). `i, .,ノ λ
\ }, ′ . / | |
. \ \ . ,/ ∪
(¨¨¨¨¨¨¨¨¨¨¨¨¨¨゙ソ冖干ア^^^^^^^^^^^^^r'′
/~~~~~~~~i¬冖'''''7′ ∨¬ーーz─-―「\
/ _ノ 厂¨丁¨¨フ .ミ、 ゙\
194:デフォルトの名無しさん
05/04/17 16:22:30
質問です。
XPを使っているのですが、デスクトップからスタンバイに移行するのに
Dim objShell
Set objShell = WScript.CreateObject("Shell.Application")
objShell.Suspend
というコードを使えばできると書いてあったんですが、
スタンバイに移行できません。
このコードはXPでは使えないのでしょうか?
195:デフォルトの名無しさん
05/04/18 02:05:49
>>191
せっかくアルゴリズムまでは教えてくれてるんだからヘルプファイル読みながらでも
自分で作んなさいよ
196:191
05/04/20 11:13:48
行き詰まってつい・・・・。でも、なんとかできました。
190さん、ありがとう。
197:191
05/04/21 06:45:27
できたのですが、ファイルがたくさんある場合に今どれくらい
進んでいるのか進捗状況を表示させられたらいいと思っているのですが、
今何%進んでいるか(プログレスバー?)を表示させるには
どうすればいいですか?検索とかしてるんですが、みつかりません。
無理なんでしょうか?
198:デフォルトの名無しさん
05/04/21 07:12:56
>>197
プログレスバーは無理な希ガス
cscriptから起動させて、文字列出力させたら?
199:191
05/04/21 07:37:13
>198氏
朝早くありがとうございます。無理ですか・・・。
しかたないのであきらめます。
200:デフォルトの名無しさん
05/04/24 23:25:02
この文なんですが
mLocation = FindFromText( pos, html, "<td valign=""top""><strong>■", "</strong><br>", "" )
↑ ↑
矢印で示した部分のコンマに当てはまる文字列を変数posとhtmlにそれぞれ返すいうことですか?
201:デフォルトの名無しさん
05/04/24 23:53:46
>>200
書いたやつに聞けよ・・・
"<td valign=""top""><strong>■" と、 "</strong><br>" にはさまれている文字を
mLocation に返すみたいだが・・・
202:デフォルトの名無しさん
05/04/25 01:17:55
>201
そうだな
サンクス
203:デフォルトの名無しさん
05/05/08 14:40:39
すいません,VBScriptでレジストリ操作をしたいんですが,
あるレジストリキーが存在するかどうかを確認する方法はありますか?
RegReadで存在しない値を参照してエラーが出てしまうんですが
回避方法がわからないんです.
204:キー列挙ならWMIの方が楽だよ
05/05/08 15:02:33
>>203
On Error Resum Nextじゃダメ?
205:204
05/05/08 15:02:56
Resum→Resume
206:デフォルトの名無しさん
05/05/08 15:06:25
>>204
それはアレですよね,エラー無視.
最初はそれにしてたんですが
他の部分でエラー出たりすることもあるしどうかなぁ と.
というか,エラー無視で強引に進めるのって怖くありません?
207:デフォルトの名無しさん
05/05/08 15:09:39
ちなみにHTAを使って割りと複雑な操作をするんで
VBScript+HTAじゃないとダメっぽいです.
RegDeleteもサブキーがあるとエラーとかいう意味不明な仕様ですが
あれも何とかならんでしょうか。
今は oWsh.Run("reg delete "HKCR\.dat" /f) とこんな事をしてます.
でもreg.exeを使うと動作にタイムラグが・・・_| ̄|○
208:デフォルトの名無しさん
05/05/08 19:03:25
URLリンク(www.microsoft.com)
209:デフォルトの名無しさん
05/05/09 02:20:54
>>203
>>208 の手段でも良いし、条件分岐させれば良いだけじゃないのか。
210:デフォルトの名無しさん
05/05/09 03:00:18
>>208,209
そうですね,208ので全部消していくかな.
条件分岐っていうのは?
レジストリキーが存在するかどうかが調べられないのに
どう条件分岐させるんですか?
211:デフォルトの名無しさん
05/05/09 20:16:32
>>210
当初 >>203 で言っていた「あるレジストリキー」というのがいくらかでも
特定されたものであれば、レジストリキーの有無で条件分岐できるだろうと
いうこと。今回言っているように、どのようなキーが存在するかさえ不明で
あれば >>208 の示した手段がベター。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4306日前に更新/212 KB
担当:undef