08/03/25 22:27:53 qBx7ORss
ガーーーーーーーーーーーーーーーーーーーーン!!
お騒がせしてすみませんでした。あのヘルプはWSHだけのヘルプじゃないのね。
トホホ(;_;)
148:名無し~3.EXE
08/03/25 22:38:43 /YWxmjp7
VBS+VistaでGetFolder メソッド使ってプロファイルフォルダのSize取得しようとすると
エラー: 書き込みできません。
コード: 800A0046
ソース: Microsoft JScript 実行時エラー
で落ちる。2000やXPだと落ちないんだけど、これVista特有の現象ですか?
Vistaでも普通のフォルダはSize取れるんですけど。
149:名無し~3.EXE
08/03/26 00:14:49 t+afEoKa
>>147
> あのヘルプはWSHだけのヘルプじゃないのね。
いや、WSHだけのヘルプ。言っとくけど、WSHは言語の名前じゃないからね。
で、MathはJScriptのオブジェクトだから、VBScriptでは使えない。
150:名無し~3.EXE
08/03/26 01:24:26 KNcsBXpS
使えるだろ?
151:名無し~3.EXE
08/03/26 01:54:14 KNcsBXpS
<job>
<script language=javascript>
</script>
<script language=vbscript>
msgbox Math.max(1,2)
</script>
</job>
152:名無し~3.EXE
08/03/26 04:57:05 7LNLMS+G
>>151
それはVBScriptでJScriptのオブジェクトと使ってるのとは違うだろ。
153:名無し~3.EXE
08/03/26 13:24:45 KNcsBXpS
<job>
<script language=JScript>
</script>
<script language=VBScript>
msgbox Math.max(1,2)
</script>
</job>
154:名無し~3.EXE
08/03/26 15:51:20 7LNLMS+G
いやそういう意味ではなくて…
それはWSFでVBScriptとJScriptを使っているだけであってVBSじゃないだろって話。
155:名無し~3.EXE
08/03/26 17:03:49 KNcsBXpS
<job>
<script language=JScript>
</script>
<script language=VBS>
msgbox Math.max(1,2)
</script>
</job>
156:名無し~3.EXE
08/03/26 18:06:43 POgtdwah
目的ありきなのか手段ありきなのかってことだよな。
157:名無し~3.EXE
08/03/26 18:52:46 KNcsBXpS
set sc=createobject("scriptcontrol")
sc.language="jscript"
msgbox sc.CodeObject.Math.max(1,2)
158:名無し~3.EXE
08/03/26 21:11:00 TWV1SvVz
解ってないなぁ
159:名無し~3.EXE
08/03/26 23:08:35 uMAj67np
んじゃきっちり分かるように説明しる
160:名無し~3.EXE
08/03/27 12:00:42 2KaXxIPc
HOGE.VBS
WScript.Echo (Math.max(1,2))
161:名無し~3.EXE
08/03/27 23:04:46 ycxHXFId
>>157なら完全に使えてるな
162:名無し~3.EXE
08/03/27 23:09:38 2KaXxIPc
>>160 の実行結果も
---------------------------
Windows Script Host
---------------------------
2
---------------------------
OK
---------------------------
なんだけど?
HOGE.VBS //e:jscript
163:名無し~3.EXE
08/03/28 17:53:53 2JmwkR4J
解ってるなぁ
164:名無し~3.EXE
08/03/28 21:54:09 2RJ4tWHs
そうでもないか
165:名無し~3.EXE
08/03/29 02:07:35 cjLqnGDe
なにか悔しいことでもあったの?
166:名無し~3.EXE
08/03/31 02:14:48 RCtIg5di
質問です。
wshでドライバの有効無効を切り替えられますか?
可能ならばコード例をいただければと
167:名無し~3.EXE
08/03/31 07:49:26 J1B1LuSu
>>166
WSHでは出来ません
COM使えば出来ないこともないので
どうしてもやりたければWSHではなくCOMについて調べましょう
168:名無し~3.EXE
08/03/31 17:56:54 Ra0SLpc1
>WSHでは出来ません
SendKeys使えば出来ないこともないので
どうしてもやりたければWScript.ShellのSendKeysについて調べましょう
169:kuchigakusaiossan
08/04/05 15:47:53 pZPHR3rd
マルチポストですぅぅ
悩みすぎて口がくさいですぅぅ
H友達の同僚のサキちゃんにもきらわれそうですぅぅ
ヨロピク
891 名前: kuchigakusaiossan 投稿日: 2008/04/04(金) 11:47:41
すいません、スレ異かな。WSHの言葉だけで来ました。
悩んでます。だれか教えぇぇぇぇ~~て
EXCEL2003 VBAで
URLリンク(www.happy2-island.com) あたりに
WScript.Sleep 5000 っていうのがさりげにつかってありますが
オブジェクトが必要です というエラーが出ますうううぅぅぅぅぅ
私はどうすればいいのでしょうか。
悩みと疲労で歯槽膿漏がますますひどくなりますうううぅぅぅ
ぐぐると以下の同じような人もいます。だれか愛の手を
win32のsleepじゃなくって、Wscript.echo もつかいたいし
>Excel VBA質問スレ Part5
878 :デフォルトの名無しさん:2008/03/02(日) 23:54:52
物凄く基本的な事で申し訳ないのですが・・・、処理待ちでスリープを掛けたく、
WScript.sleep (250)
と記述していますが、エラー424 オブジェクトが必要です というエラーが出るのです。
何か参照設定が足りないんでしょうか。。
879 :デフォルトの名無しさん:2008/03/02(日) 23:56:42
ググれよ・・・
880 :デフォルトの名無しさん:2008/03/03(月) 00:01:10
>>878
WScript.exeを参照設定しろー
895 名前: デフォルトの名無しさん [sage] 投稿日: 2008/04/04(金) 19:36:53
実際問題としてVBAならDeclareが一番楽だと思うんだ
896 名前: デフォルトの名無しさん [sage] 投稿日: 2008/04/04(金) 21:11:06
Application.Waitのほうが簡単
170:名無し~3.EXE
08/04/05 16:25:23 Zt+/0iY1
VBAからWScript.Echoってどんな使い道があるの?
171:名無し~3.EXE
08/04/05 17:29:10 opCsAdvJ
正解は
Shell "WScript.exe ..."
だな
172:名無し~3.EXE
08/04/06 05:20:20 nlrXvzZ0
>>170
MsgBoxのほうが簡単
173:kuchigakusaiossan
08/04/06 13:07:46 Ax1XoNQY
>>170
Debug.Print と同じ用途と考えたけど
echo ではログ的に出力できそうじゃないみたいな
174:kuchigakusaiossan
08/04/06 13:51:08 Ax1XoNQY
>>169
お騒がせしてます。一応自己解決しました。
サキちゃんもよろこんでますぅ。
誤った解釈は、URLリンク(www.happy2-island.com) はVBAじゃなくWSHのスクリプトそのもらしい。
VBAではWscriptのスクリプトは実行できないが、オブジェクトは動作できる(みたい)
Wscript.sleep × sleep はオブジェクトではない
Wscript.run ○ runはWscriptのオブジェクト
質問は wscript.run("sleep 3") とか wscript.run("echo test") にすれば動きますがrunコマンド相当になり意味ナイスネ
Sub VBA_WScrit_test()
Dim WSH
Set WSH = CreateObject("WScript.shell") ’wscript のshellを指定
WSH.Run ("sleep 3")
WSH.Run ("echo test")
End Sub
175:名無し~3.EXE
08/04/06 13:59:10 AOV8Fp3G
先生、どこから突っ込んでいいのか分かりません!
176:名無し~3.EXE
08/04/06 18:02:36 sJp4hCiu
175よ、お前のスルー力が試されておる。
177:名無し~3.EXE
08/04/06 20:25:55 PLT0SKwU
やむを得ず、sendkeys主体のvbsを使うことに
なったんだけど、sendkeys中にユーザー操作を
無効化しておくような方法ってないかな?
やっぱムリ?
178:名無し~3.EXE
08/04/08 14:03:59 +YeUwmcX
WSHとは関係無いけどUWSCにそんな関数あったな。
179:名無し~3.EXE
08/04/16 19:21:44 3BqZSYGn
ho
180:名無し~3.EXE
08/05/12 15:02:59 idT6RCfS
Xp質問スレから誘導されてきました。
下記の動作を自動化したいと考えています。
具体的な実現方法をご教授ください。
1.ディレクトリA内にある全フォルダ及び全ファイルをディレクトリBに移動する。
(ディレクトリA内にフォルダ及びファイルが存在しない場合はこのスクリプトを停止)
2.ディレクトリBに移動したファイルをデータベースに取り込む。
3.ディレクトリAディレクトリBからディレクトリC内の実行年フォルダ内の実行月フォルダ内の実行日フォルダに移動する。
(フォルダが無い場合は作成)
という処理を毎日8時半、12時、18時に行います。
※2番に関してはデータベース側のスクリプトになりますので、実現したいのは1番と3番です。
よろしくお願い致します。
181:名無し~3.EXE
08/05/12 18:37:47 yJOtbab4
1.で全部AからBに移動したのに、3.でAになんか残ってるの?
182:名無し~3.EXE
08/05/12 20:25:39 uCZ4KO0T
>>180
ファイル・フォルダの移動や作成はFileSystemObject使えば良い
年月日の取得はDateからYear関数などで取得すれば良い
ここはスクリプト作成依頼所ではないので、あとは自分で調べて書こう
183:名無し~3.EXE
08/05/16 09:23:35 zqGee6pu
>>182
情報ありがとうございます。
試してみます!
184:名無し~3.EXE
08/05/26 13:02:19 ZJjr1srY
makewin.exeでexe化したvbsのexeファイルが
savce@5/26定義パターンで木馬として片端から検出・検疫されたわ
ふざけんなSAV!!!!!!!!!!ヽ(`Д´)ノ
185:名無し~3.EXE
08/05/27 23:28:44 5IR62930
>>184
ウチも!
自作アプリのインストーラを、いつも wsh で作成して exe 化して配布してたんだが
いきなりオレのソフトは全部ウイルスに認定されてしまったよ!
かといって、マイクロソフトの Visual Studio に付いてるクソなインストーラ作成ソフトは使いたくないし
InnnoSetup なんて、まるでキンタマみたいな恥ずかしい名前のソフトも抵抗あるし。
どうしよう・・・orz
186:名無し~3.EXE
08/05/28 18:02:22 U+POFhbu
そこで、MAOIXですよ。
187:名無し~3.EXE
08/05/28 20:45:49 ijLb+QnG
カッコ付けてexe化なんてしなければいいじゃんw
188:名無し~3.EXE
08/05/28 22:05:22 lcT2TWdz
exeにするならvb.netだな
189:名無し~3.EXE
08/05/29 00:42:34 swFNcekc
>>185
ところでWSHの.exe化ってのは、WSHやOSのバージョン毎の差を吸収できるもんなの?
できないのならWSHのまま配布するほうが良いと思うんだが。
190:名無し~3.EXE
08/05/29 18:18:57 DTlmIJ8o
>>189
exe化の原理は簡単。単純に、ローダとvbsスクリプトを COPY コマンドで物理的に結合してるだけ。
COPY /B ローダ.exe+SETUP.VBS SETUP.EXE
ローダが実行時にスクリプト部分をファイルに書き出して、子プロセス wscript.exe で実行させる。
OSのバージョンに依存するような事は絶対に無い。
191:名無し~3.EXE
08/05/30 10:51:12 PIzZnjDJ
URLリンク(www.microsoft.com)
をまんま使って、ワークグループ環境下で、リモートのOSのバージョン等を採取する
スクリプトを作成しています。
Set objWMIService = GetObject("winmgmts://" & "remotehost")
Set colOSes = objWMIService.ExecQuery _
("SELECT * FROM Win32_OperatingSystem")
For Each objOS in colOSes
Wscript.Echo "OS Version: " & objOS.Version
Wscript.Echo "Service Pack: " & objOS.ServicePackMajorVersion & _
"." & objOS.ServicePackMinorVersion
Next
Windows Server 2003に対しては、普通に動作するのですが、
Windows XP SP2のPCに関しては
Microsoft VBScript runtime error: The remote server machine does not exist or is unavailable: 'GetObject'
で、拒否られてしまいます。
Google先生経由で色々調べて、XP側のファイアーウォールをOffにしたり、
wmimgmt.mscで、root\cimv2のパーミッションをいじったりしてみたり、
getObjectの引数をいじってみたり、色々やったのですが、ですが、状況は
変わりません。 orz
すごく基本的な点を見落としているような気がするのですが、どなたか、
アドバイスいただけませんか?
192:名無し~3.EXE
08/06/02 08:02:20 xPO8zd5Z
前に、「ネットワーク接続の有効・無効をするスクリプト」を見たことがあって、
仕事で使いたいと思ってるんだけれど、あの手段は「コントロールパネル」を開いたりを自動化してるっぽくて
オレの会社だとコンパネが開けないようになってるから使えなかったんだわさ。
マイネットワークを右クリックしてプロパティとかでネットワーク接続の画面は普通に出せるんだけど、
コンパネは開けない仕様になってて。
そういう場合はどうすればいいと思う?レジストリは権限ないし・・・
193:名無し~3.EXE
08/06/02 08:18:12 GIIWqOyj
ローカルエリア接続・無線LANをコマンドラインから有効/無効にする方法
URLリンク(tech.ironhearts.com)
194:名無し~3.EXE
08/06/02 18:50:53 uGSz20SA
WSHを自由に使わせてるくせに、コンパネやレジストリへのアクセス権限無しとかgdgdだな
セキュリティーの概念を解ってないヘボ会社にはありがちだけどw
195:名無し~3.EXE
08/06/04 10:19:34 DZ08xA0B
>>191の自己フォローです。
結局、
コンパネ→管理ツール→ローカルセキュリティポリシー
→セキュリティオプション
ネットワークアクセス:ローカルアカウントの共有とセキュリティモデル
をクラシックに変更
で、解決いたしました。参考サイトは、以下の通りです。
URLリンク(dendoubako.cocolog-nifty.com)
お騒がせいたしました。
(なんだかんだで、三日間もハマッテしまった。orz)
196:名無し~3.EXE
08/06/13 16:15:06 uYaVuoGG
4行目でエラーとなるんですが どこか間違っていますでしょうか?
---
Dim f
Set oMsg = CreateObject("CDO.Message")
Set objFs = CreateObject("Scripting.FileSystemObject")
Set objText = objFs.OpenTextFile(WScript.Arguments(0))
myText = objText.ReadAll
objText.Close
oMsg.From = "送信アドレス"
oMsg.To = "宛先アドレス"
oMsg.Subject = WScript.Arguments(0)
oMsg.TextBody = "件名" & vbCrLf & myText
' 添付したい場合使用
'oMsg.AddAttachment WScript.Arguments(0)
oMsg.Configuration.Fields.Item _
("URLリンク(schemas.microsoft.com)") = 2
oMsg.Configuration.Fields.Item _
("URLリンク(schemas.microsoft.com)") = _
"メールサーバアドレス"
oMsg.Configuration.Fields.Item _
("URLリンク(schemas.microsoft.com)") = 25
oMsg.Configuration.Fields.Update
oMsg.Send
197:名無し~3.EXE
08/06/14 05:59:54 J9SnL1u9
>>196
引数がたりないんでは?
Set objText = objFs.OpenTextFile(WScript.Arguments(0),1,False)
としたらどうだろう?
198:名無し~3.EXE
08/06/15 01:00:26 blTLCOLk
>>196
エラーの内容が分からんとな。
199:名無し~3.EXE
08/06/15 14:34:01 loKPXSjn
スクリプト単体で引数入れずに起動してるとかいうのは無いだろな。
200:197
08/06/15 19:32:28 jcYRz71J
>>199
たぶんそれだ。やってみたらわかった。
それか可能性としては、
WScriptの使えない場所(なんかのマクロとかで)で使おうとしているのかもしれない。
しかし、面白いな。"CDO.Message"か。
受信は、"MAPI.Session"らしい。
昔、BASP21でやったことあるけど、当時はこんなのしらなかった。
201:名無し~3.EXE
08/06/16 11:10:05 oNTE9LVr
ありがとうございます >>197
ただそうすると
oMsg.TextBody = "件名" & vbCrLf & myText
がSubjectに挿入されず,添付ファイル名が挿入してしまいます。
前起動したときはそうならなかったのですけど。
何度もお手数おかけします。
202:名無し~3.EXE
08/06/16 14:40:47 vFGvsFla
自分でデバッグ出来ない奴はスクリプト書くなよ
これは交通法規も知らない(免許のない)奴は車で公道を走るなってのと同じだ
エンジン掛けてギヤ入れてアクセル踏んでハンドル切れば車は動くが
それだけでは公道で車を運転する資格にはならない
スクリプトもとりあえず書くだけなら小学生でも出来るし、そのままで動くこともあるが
問題が起きたときにデバッグ出来ない奴は、スクリプト書けるとは言えないし書く資格もない
車の運転でも、公道を走る前にまず交通法規や運転技術を身に付けるように
スクリプトでも実用コード書く前に、まず構文規則とデバッグを身に付けなきゃならない
と、最近のあまりにも無気力な丸投げ質問に渇を入れてみました
203:名無し~3.EXE
08/06/16 14:52:48 ykhvW0pF
突っ込み所が満載な例えを出さないの。
204:名無し~3.EXE
08/06/16 15:31:18 SHT72aOI
そうでもないか。
205:名無し~3.EXE
08/06/16 18:09:59 BCDUeaPm
とりあえず何でもいいから書かないと身に付かないよ。
デバッグ出来ない奴は書くななんて言っちゃったらずーっとそのまんま。
最大限自分でなんとかするって心構えは必要だと思うけど。
最終的に他人に聞いて解決するにしても、それ以前の試行錯誤がないと
経験値にならないし、伸びる見込みもない。そういう奴は書いても無駄。
206:名無し~3.EXE
08/06/16 22:00:00 uMi9mtpF
書くだけじゃなにも身に付かんよ
君も言ってるが、「それ以前の試行錯誤」ってのがデバッグなわけで
そうやって、書いた上で「考えないと」身に付かん
例えば
Set objText = objFs.OpenTextFile(WScript.Arguments(0))
なら
WScript.Arguments.Count で、1つ以上の引数が渡されてるか
objFs.FileExists で、その引数をパスとするファイルが存在するか
そういうのを確認してからOpenTextFileする、そういう試行錯誤(デバッグ)が必要なわけよ
その後のReadAllも、ファイルが空だとエラーになるから、AtEndOfStreamで確認する
そうやってただ書くだけではなく、面倒がらずに処理を一つ一つ追っていけば
どの行ではなくどの処理がエラーになってるか解るし、そこまで解れば
質問するまでもなく解決する話かも知れない
そういった最低限のデバッグには、手間は要るがたいした知識は要らない
>>196のコードが書けるなら、WScript.Arguments.Countや
objFs.FileExistsに行き着くのはそう難しいことではないはず
なのにエラーが出たらそこで思考停止して他人に丸投げし
自分で試行錯誤する気が全くない、そういうところがダメなわけで
207:名無し~3.EXE
08/06/17 06:41:32 vvTweahD
>>196のコードが書けるなら
それ、どっかのホームページからのコピペでしょ。
こんだけのコードが書けるヤツがデバッグすらできないはずは無い。
デバッグって言っても、ただ print 文や echo 文を入れまくるだけなのにね。
まるごとコピーしただけで理屈が分かってないから
何を print させればいいのかがわからない。だからデバッグできない。
208:名無し~3.EXE
08/06/17 10:48:55 563mmLYl
ところで、4行目というのは
Set objText = objFs.OpenTextFile(WScript.Arguments(0))
のことで良いのかな。
もしそうなら、ファイルをドロップして引数に与える分にはエラーになる箇所じゃない罠。
ただ、メールの件名(WScript.Arguments(0))にファイルのフルパスを与えるとは考えにくいから、
コマンドラインから手入力でファイル名だけ引数に与えているのだとすると、
その場合、カレントディレクトリを変更していない為のエラーはありえるかも。
209:名無し~3.EXE
08/06/19 21:14:00 PbO/hOTC
>>196
下のスクリプトは動いたので、問題はないように見えますが・・?
'Dim f
'Set oMsg = CreateObject("CDO.Message")
Set objFs = CreateObject("Scripting.FileSystemObject")
Set objText = objFs.OpenTextFile(WScript.Arguments(0))
myText = objText.ReadAll
objText.Close
WScript.echo myText
Set objFs = Nothing
Set objText = Nothing
ドラッグしたファイルはtest.txtで中身は
あいうえお。
かきくけこ。
あいうえお。
かきくけこ。 と表示されました。
上の皆様がおっしゃっている内容を確かめてみるとよいかと。
なんの助けにもなってませんねー
210:名無し~3.EXE
08/06/19 21:25:25 PbO/hOTC
209です。
おれも皆様の力を借りたいことがあります。
Vistaでインストールされた更新プログラムのリストを表示させるスクリプトを作ろうと思ったのですが、よい方法はないでしょうか?
難しいのはアプリケーションのリストではなく、MicroSoftからの更新プログラム(KB~みたいな)であるという点です。
XPではレジストリの以下の場所から一覧を取得するだけなので楽だったのですが、
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\
VistaではUninstallのキーはあってもその中に更新プログラムのキーがない。
同じ方法では取得できません。
レジストリがダメならWMI?WindowsInstallerオブジェクト?
よい方法を知りませんか?
211:名無し~3.EXE
08/06/20 15:40:25 GKZ2+8+R
>>210
URLリンク(www.microsoft.com)
この辺は?
212:名無し~3.EXE
08/06/21 10:49:13 m1Ys5slR
ありがとうございます。 >>211
上のURLを参考に、Vistaのhotfixを取得することができました。
・・でも少し抜けてるんですよね。ServicePack(KB936330)とか。
URLのコードにあった、Win32_QuickFixEngineeringを参考に調べていたら
URLリンク(www.microsoft.com)
でなんかいけるかもなのでがんばってみます。
ありがとうございました!
今回試したスクリプトは以下
'---------------------------------
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colQuickFixes = objWMIService.ExecQuery _
("Select * from Win32_QuickFixEngineering")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set TextFile = objFSO.OpenTextFile("C:\test.txt", 2, True)
TextFile.Write "Computer,Description,Hot Fix ID,Installation Date,Installed By" & vbCrLf
For Each objQuickFix In colQuickFixes
TextFile.Write objQuickFix.CSName & "," & objQuickFix.Description & "," & objQuickFix.HotFixID & ","_
& objQuickFix.InstallDate & "," & objQuickFix.InstalledBy & vbCrLf
Next
TextFile.Close
213:名無し~3.EXE
08/07/15 14:01:02 MSaMbScD
コマンド実行unixの xx.sh > /dev/null 2>&1 にあたるリダイレクトってWindowsで出来ますか?
214:名無し~3.EXE
08/07/15 14:07:31 THmV8Aue
>>213
それはどうなるの?UNIXをあんまり使ったことが無いから判らないけどヌル箱の代わりはNULっていうデバイスがあるよ。
というより、スクリプトを出したほうがやりたいことが判りやすくてよいのではないかと。
215:名無し~3.EXE
08/07/15 15:25:38 I42WGyiI
要するに標準出力を捨てて標準エラー出力を標準出力として出力したいってことでしょ
216:名無し~3.EXE
08/07/15 15:39:11 THmV8Aue
そういうことはスクリプト内部を変更しちゃうからわからないなぁ。
ためしに今cscriptでNULにリダイレクトしてみたらハンドルが無効だぞハゲって言われちゃったよ。
217:名無し~3.EXE
08/07/15 19:21:02 +Z+QfLmA
>>215
違う。標準出力と標準エラー出力をまとめて捨てる。
>>213
コマンドプロンプト上で hoge.bat > nul 2>&1 ってのはできるけど、
リダイレクトはシェルの機能だから、WSHで出来るのかどうかは
わからないな。
Execメソッドで "cmd.exe /c hoge.bat > nul 2>&1" みたいに
やれば動くかもしれないけど、今試せる環境がないので未確認。
218:名無し~3.EXE
08/07/15 19:26:35 THmV8Aue
プロンプトを見たくないならRunの第二引数を0にすれば良いんじゃないかな。
219:名無し~3.EXE
08/07/15 21:10:44 xfeqMLQj
cscript >NUL 2>NUL
ふつうにできますが何か?
220:名無し~3.EXE
08/07/18 08:57:51 m/LYbVKS
>>219
StdOutやStdErrを使ったスクリプトでやってみてよ。
221:名無し~3.EXE
08/07/18 09:21:37 /qFN6kNU
w2kだが5.6 jpが入ってるところへ5.7をインストールしたら
日本語リソースそのまま使うみたいで5.7が日本語になった
222:名無し~3.EXE
08/07/18 15:14:06 XFnK5WyO
>>220
wscript.stdout.writeline 1
wscript.stderr.writeline 2
できるけど?
223:名無し~3.EXE
08/07/18 15:30:19 m/LYbVKS
>>222
>>216の時には出来なかったのだけど、今やったらなぜか出来た。
訳がわからんがまあいいか。
224:名無し~3.EXE
08/07/22 14:37:12 1x3O0bQO
>>216はwscript.exeだろ?
225:名無し~3.EXE
08/07/22 16:04:02 m8H9p6l1
いんや、CSCRIPTだったよ。
そうしたら(null) ハンドルが無効ですってコンソールに出た
226:名無し~3.EXE
08/07/23 13:29:19 H4TSZYUl
CScript の標準入出力は、バージョンによってちょっとずつ挙動が違うよ
自宅のVistaで試したコードが、職場の2kだと動かないとかザラ
227:名無し~3.EXE
08/07/23 18:55:12 kx1E3i+M
そりゃさすがにバージョンダウンは無理やろ
228:名無し~3.EXE
08/07/26 15:54:20 saqPtqJr
あるフォルダの中のその週に作業されたファイルを集計したいんですけど、ファイル属性で第何週目とかないんでしょうか?
あるいはロジックで上手いこと検出する方法はないでしょうか?
229:名無し~3.EXE
08/07/26 16:06:55 xOhG5Vbs
>CScript の標準入出力は、バージョンによってちょっとずつ挙動が違うよ
そうかぁ?標準入出力は内蔵FilsSystemObjectだから変わらんと思うが
230:名無し~3.EXE
08/07/26 17:08:58 elGRh4zI
>>229
日付で見ればいいじゃん
週ごとにするなら年ごとに第一週が何日あるかデータベース作れば
簡単に何周目かが分るし、つうか年またぎどうすんだ
231:名無し~3.EXE
08/07/26 17:20:43 WB4RWxle
>>228
今週作業したファイルを抽出したいって話なら、
ファイルの更新日時が何日前かを取得して、その値がWeekday(Now)以下なら今週。
232:228
08/07/26 18:25:58 kbSenNqx
>>230-231
ありがとうございます。今週分が必要なので>>231でいけそうです。
何日前かを計算するのは日付からNOWを引いて、答えの整数部分で考えればいいですよね?
233:名無し~3.EXE
08/07/26 19:02:39 icWXyyQo
>229
変な動きするのもある。
StdIn.Read(1)すると、一行読み込んだ上で先頭の1文字返す
(なので、その時点ではおかしくないのだが、次のReadの際には残りが捨てられている)
とか、そんな変な挙動をするものがある。
234:名無し~3.EXE
08/07/26 19:09:23 WB4RWxle
>>232
>何日前かを計算するのは日付からNOWを引いて、答えの整数部分で考えればいいですよね?
それだと誤差が出るはずなので、いったんそれぞれをDAYで丸めてから引き算した方がいい。
235:名無し~3.EXE
08/07/26 23:47:05 yRWXnRv/
>233
それは単なるバグじゃないのか?
「古いバージョンには○○なバグがある」 って言えば、「ふうんなるほど」 で話が終わるものを
「バージョンによってちょっとずつ挙動が違う」 なんて書くから誤解される。
236:名無し~3.EXE
08/07/27 02:20:08 EoLlJkI3
WScript.StdInの実装バグなので
Set StdIn=WScript.StdIn
StdIn.Read(1)
とすればよかったような
237:名無し~3.EXE
08/08/04 17:45:05 qtSSqajn
IE自動操作してるんだけども、
input type= file にはPCから wsh 実行しても入力出来ないのですか?
せっかく本まで買ってvbs覚えようとしてるのに、困った…(´・ω・`)
238:名無し~3.EXE
08/08/04 18:56:19 IyBaEu56
金玉ウィルスでも作るつもりか?
239:名無し~3.EXE
08/08/04 20:27:14 qtSSqajn
(`・ω・´)金玉なんて作るわけないでしょ!
240:名無し~3.EXE
08/08/04 22:34:43 tB95YHdp
つSendKeys
241:名無し~3.EXE
08/08/04 23:53:35 qtSSqajn
>>240
ありがとう、スマートじゃないけどその方法で取りあえず上手くいきました
242:名無し~3.EXE
08/08/05 05:36:14 gDmp4m0n
金玉ウイルスって何?
玉筋ウイルスなら知ってるが。
243:名無し~3.EXE
08/08/05 17:42:33 KazUXVcD
球筋ウイルスってなに?
キンタマウイルスなら知ってるが。
244:名無し~3.EXE
08/08/06 09:28:25 Wr7qdPjn
以下for(;;)
245:名無し~3.EXE
08/08/06 11:24:45 aAYjTfjb
break;
246:名無し~3.EXE
08/08/13 19:55:03 6iS3g15e
POWERSHELLってこのスレの人的に見てどうなの?
VBSで出来たことが全部出来るんですか?
247:名無し~3.EXE
08/08/15 09:31:12 B0JNZm6F
PowerShell はすばらしいですよ。
PowerShell を使えば、あなたの仕事がはかどります。
PowerShell ならシステムの管理が獲活に行えます。
例えて言うなら エスペラント語 みたいなもんです。
248:名無し~3.EXE
08/08/17 13:31:35 U69J/FrR
獲活?
249:名無し~3.EXE
08/08/28 22:26:26 uWfeBCSV
たぶん円滑
250:名無し~3.EXE
08/08/30 14:11:12 d0tUT80M
統合アーカイバプロジェクトのKBA.DLLをインストールして使ってみたのですが、複数ファイルをドロップした時に思うように動作してくれません。
例えば、
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oZIP = CreateObject("KBA.ZIP")
For Each sArg in WScript.Arguments
if FSO.FileExists(sArg) Then
oZIP.OpenArc sArg
MsgBox "1:" & sArg & "2:" & oZIP.ArcName
oZIP.CloseArc
End if
Next
上記スクリプトに、zipファイルを1つドロップした場合、「1:ドロップしたファイル名2:ドロップしたファイル名」とメッセージが出るのですが、
2個以上のzipファイルをドロップすると、1個目のファイルは「1:ドロップしたファイル名2:ドロップしたファイル名」、
2個目以降は「1:ドロップしたファイル名2:」となってしまいます。
OpenArcメソッドを使わなければ、それ以外のメソッド、ArcCmd(圧縮・解凍などの各種操作)・FileCount(格納されているファイルの総数を返す)などは複数のファイルでも正しく処理できます。
書庫の情報を取り出したり書庫内ファイルを検索するために書庫ファイルを指定するのがOpenArcメソッドですが、呼び出すと2個目以上のファイルの処理に問題が出るようです。
CloseArcメソッド(リファレンスには「OpenArcで結びつけたハンドルを解放する」とあります。)も機能していない?ようです。
更新日も古く、使っている人が少ないのか、googleでもほとんど情報を得られませんでした。どなたか、助言お願いします。
251:名無し~3.EXE
08/08/30 21:28:30 Oes8pJ1M
知らんけど、毎回オブジェクト作成→解放してみるとか
252:名無し~3.EXE
08/08/30 21:44:45 4ib5BU+k
jscriptでIEを操作して、「フォームを送信して結果の本文を取得する」
ってのをやろうとしています。
debug用に IE.Visible = true; で試しているところですが、
IE.Navigate2 でPOSTしてフォームの送信に成功し、結果が表示されるところ
まではできています。
しかし、その後 IE.document.body.innerhtmlや.innertextはもちろん、
IE.locationnameすらも取得できません。(nullが返る)
もちろん IE.ReadyState == 4 である事は待ってから取得しています。
こんなことってあるんでしょうか。
本文など情報を取得するにはどうすればよいのでしょう。
253:252
08/08/30 22:57:59 4ib5BU+k
IE.locationnameは取得できていることがわかりました。
たまたまデバッグしていたページのタイトルが空だっただけでした。
やはりIE.document.body.innerhtml, .innertextは取得できません。
254:名無し~3.EXE
08/08/30 23:26:37 sDyQKTTJ
間違ってるだけ
255:名無し~3.EXE
08/08/30 23:47:47 DSTdld3c
innerHTML innerText
VBじゃないんだから正しく書け。
256:252
08/08/31 00:00:23 Vnde2TRN
>>254-255
う…
その通りでした。ありがとうございます。
存在しないプロパティならエラーになるはずだと思っていたので、エラーに
ならない以上そういう問題はないと思いこんでしまっていました。
257:名無し~3.EXE
08/08/31 22:46:35 6Tzy7HL9
質問です
PowerShell というのはつまり
なんちゃって Perl
なわけですか?
258:名無し~3.EXE
08/08/31 23:08:58 EaFSdaSA
CGI=Perlと思っていたあの頃・・・
259:名無し~3.EXE
08/09/02 22:39:04 /oXppw8S
下のVBSとJScriptは同じ動作をするんですが、なぜJScriptのほうで var objSys = enumSys.item(); という手間がひとつ多く必要なのかがよくわからんのです。
どなたか教えてプリーズ。
-----VBS
Set wmi = GetObject("winmgmts:")
Set SystemSet = wmi.ExecQuery("SELECT * FROM Win32_OperatingSystem")
for each System in SystemSet
WScript.Echo "Caption: " + System.Caption
WScript.Echo "Version: " + System.Version
WScript.Echo "Memory: " + System.TotalVisibleMemorySize
next
-----JScript
var wmi = GetObject("winmgmts:");
var SystemSets = wmi.ExecQuery("SELECT * FROM Win32_OperatingSystem");
for(var enumSys = new Enumerator(SystemSets); ! enumSys.atEnd(); enumSys.moveNext()) {
var objSys = enumSys.item();
WScript.Echo("Caption: " + objSys.Caption);
WScript.Echo("Version: " + objSys.Version);
WScript.Echo("Memory: " + objSys.TotalVisibleMemorySize);
}
あと、JScriptでWMIとかをいじる時に、オブジェクトの中身を見られるメソッドみたいなものがあれば教えて欲しいです。
enumSys.toSource()
だと「実行時エラー: オブジェクトでサポートされていないプロパティまたはメソッドです。」と言われてしまいます。
260:名無し~3.EXE
08/09/02 22:53:39 UTiA0o1v
enumSysはEnumeratorオブジェクトだから
オブジェクトの中身って何
261:名無し~3.EXE
08/09/02 23:20:06 uJm2pAsf
>>259
自分でtoSourceをr定義する
262:259
08/09/03 00:23:11 JepG4paN
>>260
言われてみたら new Enumerator でオブジェクトを作ってた。
全然目が届いてなかったぜ。ありがとう
>>261 が自分で作れと言ったので9割コピペで捏造した。
function printProperty(obj) {
for (var prop in obj){
WScript.Echo(prop + " -> " + obj[prop]);
}
}
<略>
for(var enumSys = ...
var objSys = enumSys.item();
printProperty(objSys);
だけど、なにも表示されない。
>>259 のコードで少なくとも .Caption と .Version と .TotalVisibleMemorySize は在るのがわかってるので、printProperty の for ループは最低3回はまわるはず(だよね?)
「->」だけの表示でもいいから3回は表示されると思ったんだけどその表示も無し。
神よ添削してくだされ。
263:259
08/09/03 01:01:10 JepG4paN
当初の目的は達成できました。
.Properties_ ってなんだよ!そんなの知らなきゃわかんないよ!って気分になりました。
moz-addon.g.hatena.ne.jp/ZIGOROu/20071101/1193945908 さんありがとう。
for(var enumSys = new Enumerator(SystemSets); ! enumSys.atEnd(); enumSys.moveNext()) {
var objSys = enumSys.item();
for(var enumProp = new Enumerator(objSys.Properties_); ! enumProp.atEnd(); enumProp.moveNext()) {
WScript.Echo(enumProp.item().name + " -> " + objSys[enumProp.item().name]);
}
}
「こんな局面のときは .Properties_ ってのが使えるぜ」みたいな知見は経験を積むしかないんだろうか?
あるいは体系的に学習すれば身につくレベルの話?
264:名無し~3.EXE
08/09/03 01:27:09 rs8DnNaP
経験かな
エンジンのバージョンごとにバグがあって
それに気が付かずに悩んだりすることもあるし
265:名無し~3.EXE
08/09/04 19:27:26 l2+9WVFc
WSH(JavaScript)でIEを操作するスクリプトを書いています。
IE = new ActiveXObject("InternetExplorer.Application");
IE.Visible = false;
IE.Navigate("URLリンク(www.google.com)");
てなことをやっていると、全く操作ができなくなることがある。
IE.Visible = true;
にして確認してみると、
「セキュリティの警告」
「セキュリティで保護されたページを表示しようとしています」
というポップアップが出ていて、OKをクリックしてやらない限りWSHからは
操作できないようだ。
こういうダイアログが出ているかどうかを確認して、出ていたらOKを押す、
というのはどうすればいいですかね。
266:名無し~3.EXE
08/09/04 19:51:14 2bJj6jy/
>>265
IE.Visible = true;
で、いいんじゃね?
267:名無し~3.EXE
08/09/04 19:53:27 l2+9WVFc
trueにすれば
ポップアップが開いたことをスクリプトから調べる方法
そのポップアップのOKを押す方法
はあるということ?どうすればいい?
268:名無し~3.EXE
08/09/04 19:58:57 2bJj6jy/
「スクリプトから」はしらない。
269:名無し~3.EXE
08/09/04 20:13:30 l2+9WVFc
あぁ、人が見てOKすればいいってことですか?
うーん、自動化したいということと、人がOK押してる間に
IE.ReadyState == 4で先に進んじゃうのよね。操作できないのに。
IE.Navigate("どっか");
while(IE.ReadyState != 4) {
WScript.Sleep(250);
}
ほげほげ;
IE.Navigate("べつのどっか");
while(IE.ReadyState != 4) {
WScript.Sleep(250);
}
ふがふが;
ってなことをしていて、"どっか"の時点で警告が出ると、さくっとほげほげの
処理を通り過ぎて"べつのどっか"へのNavigateを実行するけど失敗して、
かつReadyStateは4のままだから、人がOKを押す前にふがふがまで行ってしまう。
というわけで、(ほんとはやだけど)最悪OKは人が押すとしても、警告のせいで
IEの処理が止まってる事をスクリプトから把握できないと困るのよ。
できないとなると、こういうのを回避する別のいい方法はないかなあ。
270:名無し~3.EXE
08/09/04 23:43:29 xy3FNoG2
If .AppActivate(ダイアログのタイトル) Then .SendKeys "OKのショートカットキー"
271:名無し~3.EXE
08/09/05 00:11:56 ymZX69/d
トンクス、明日やってみる
if WScript.Shell.AppActivate("ダイアログのタイトル") {
WScript.Shell.Sendkey("ショートカット");
}
JavaScriptだからこうかな。
VBScriptはオブジェクト名を省略できるの?
272:名無し~3.EXE
08/09/05 00:14:55 +9TG1vLi
VBScriptでもJScriptでもwith
273:名無し~3.EXE
08/09/05 14:11:28 8iLTXUTa
>>265
たぶんみなさん確実に私より詳しそうだから、全然はずしていたら読み飛ばしてください。
IEを操作するときは、どこかで、objIE.Navigate("about:blank") でブランクページを
作ってから目的のページに飛ぶほうがいい、って書いてあって(ように思う)
私は何も考えずにそうしてます。そういう問題ではないですか?
(っていうか、一旦ブランクにする理由はすっかり忘れてしまって、ググッたけど、
見つけられなかった。どういう意味なのか知っている人がいたら解説してほしいです....)
274:名無し~3.EXE
08/09/05 14:48:19 +9TG1vLi
しないほうがよい
275:265
08/09/05 17:03:26 VTJ1fL7j
>>273
IE.Navigateの問題ではなくて、モーダルダイアログに阻まれて元アプリの
コントロールができなくなる話なので、本質的にはIEに関係ないと思う。
たぶんIE.Visible = false;なのにGUIからしかコントロールができない
API設計のへぼさが問題だと思うけどしょーがないみたいね。
とりあえず>>270-271でうまくいったのでそれでいい事にする。
ところで、ActiveXObject()でオブジェクトを作るとエラーの判定ができる
けど、 wsfで<object />を使って作ると判定できないのかな。
ScriptPW.Passwordを使ってスクリプトを書いていたらscriptpw.dllが無い
環境でエラーになる事がわかったから判定したいけど、<object />で
作っていたので返り値で判断ができない。
<object />を使う場合は絶対失敗しない事を確信できる状況でしか使うな
ってことなのかな。
使えば使うほどかゆいところに手が届かない感じがしてくるなー。
ちょっとしたことに使うなら便利なんだけどさ…。
276:名無し~3.EXE
08/09/05 18:13:47 +9TG1vLi
<object id=hoge />
TypeName(hoge)で確認
277:名無し~3.EXE
08/09/05 19:29:24 VTJ1fL7j
>>276
すまん、俺が悪かった。
問題はそれ以前に、エラーになったらその時点で実行が止まっちゃう事にあった。
オブジェクトを作成できなくても実行を続けるにはどうすればいいかな。
278:名無し~3.EXE
08/09/07 09:27:05 F9Z8qgIn
HTAStopとNoScript(Firefoxのアドオンではない)で無効に設定しているので使ってません。
279:名無し~3.EXE
08/09/07 21:28:33 Bfr7d4al
>>274
IEなんて使わないで直接取りに行ったら?
POSTもできるし
Function PrintHttpDocSimply(url,param)
Dim oXmlHttp
Set oXmlHttp = CreateObject("MSXML2.XMLHTTP.4.0")
oXmlHttp.Open "POST", url , False
oXmlHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
oXmlHttp.send param
PrintHttpDocSimply = oXmlHttp.responseText
End Function
paramは ”hoge=hoho&baka=kaba&momar=hiroyuki”
とか入れておけばいい
280:名無し~3.EXE
08/09/07 21:38:59 TQSameT9
なぜ全角文字を混ぜる
281:265
08/09/08 02:45:23 K462bD72
>>279
>>274じゃないけど反応してみる
さっぱりわからんので教えてくらはい。
再帰してるのはなぜ?
PrintHttpDocSimplyの引数が(url, param)なのにoXmlHttp.responseTextだけ
渡すのでいいの?
つーかそもそもoXmlHttp.responseTextはどこで定義されているの?
282:名無し~3.EXE
08/09/08 06:42:42 L5IL5s6b
VBScript Function でぐぐれ
283:265
08/09/08 16:13:17 TQKBbcaA
ぐぐった。
VBScriptにはreturnが無いのね。
もしかして再帰できないの?と思ったら再帰の呼び出しはcallを使うのか…。
>>279
サンクス。
>>275にも書いたように>>270-271でなんとかしちゃったけど、後で試してみる。
あと>>277は、try {} catch() {}すればいい事に気がついた。
284:名無し~3.EXE
08/09/10 00:05:22 nQEAey34
wshとは直接関係無いけど
Windowsのシステム内でのレジストリとWMIの位置付けの違いがよくわからん
レジストリは設定の保存場所だろ?
WMIも設定の保存場所…なのか?
285:名無し~3.EXE
08/09/10 01:11:02 +SACXhEc
>>282
MSXML2.XMLHTTP.4.0 というObjectでいろいろ定義されている
古いOSならいざ知らずたいがいの環境で使えるのが吉
286:名無し~3.EXE
08/09/10 01:20:16 bhv+KmqL
昔作ったBATを置き換えようかと思ってるんだけど
%~dpnx1とか%~n1とかどう取得するの?
287:名無し~3.EXE
08/09/10 01:59:46 VUGKxJpv
>>286
コマンドラインパラメータの取得なら
WshArguments オブジェクト
URLリンク(msdn.microsoft.com)
パスの分解なら
FileSystemObject のメソッド
URLリンク(msdn.microsoft.com)
各種 Get****Name
なげーよカスと思っても口にしてはいけないよ。
288:名無し~3.EXE
08/09/10 15:55:55 TB/+ZEHL
サーバーのデスクトップ画面をリモートから保存したい
クライアントでATバッチ実行してサーバにBATのrunasでadmin権限取得用vbsをechoで作成して実行するようにスケージュル
指定時間になったら、サーバで上で自動作成されたadmin.vbsが実行されてクライアントの中のcap.batが実行される
cap.batでサーバのデスクットプ画面を保存するadmin.vbsは実行後にadmin.vbsで削除される
一応動いたけどサーバでcap.bat実行中の画面が保存されるので困っている
runasでsendkeys使っているので非表示でbatを起動することはできないのでsendkeyが終った後にcap.batの最小化又はウィンドウサイズを位置を変更したい
↓の方法も試しましたがコマンドプロンプトの画面はaltキーが反応してないみたいで使えませんでした
URLリンク(detail.chiebukuro.yahoo.co.jp)
wshで実行中のコマンドプロンプトの最小化又はウィンドウサイズを位置を変更する方法はありませんか?
289:名無し~3.EXE
08/09/10 20:49:57 xOxjqnd6
わざわざそんなことせずともできると思うが、具体的に
290:286
08/09/11 07:01:11 KjAck0oQ
>>287
thx
291:at.bat part1
08/09/11 08:49:14 xAqasSGI
>>289
@echo off
@REM 実行するアプリとスケジュール時間
set RUNBAT=\\%COMPUTERNAME%\z$\bat\リモート\run_remote_pc.vbs
set RUNTIME=7:30
call :time_run
echo PC名 ping 内容 時間%h%時%m%分%s%秒>>atlog.txt
@REM ----------------------------------------------------------
for /F "tokens=1" %%a in (pclist.txt) do call :sub1 %%a
GOTO :EOF
@REM ----------------------------------------------------------
:sub1
SET LIST=%1
:PING
SET PING=ERR_LAN
ping /n 1 %LIST% | find "Reply" >tmp1.txt
for /F "tokens=1" %%a in (tmp1.txt) do SET PING=%%a
del tmp1.txt
IF NOT %PING%==Reply GOTO NGLAN
:OKLAN
echo Dim WshShell>\\%LIST%\c$\at_admin_run.vbs
echo Set WshShell = CreateObject(^"WScript.Shell^")>>\\%LIST%\c$\at_admin_run.vbs
echo WshShell.Run ^"runas.exe ^/user:megaoak\kanazawa ^"^"c:\at_admin_run.bat^"^" ^", 2 >>\\%LIST%\c$\at_admin_run.vbs
echo WScript.Sleep(100)>>\\%LIST%\c$\at_admin_run.vbs
echo WshShell.AppActivate(^"runas.exe^")>>\\%LIST%\c$\at_admin_run.vbs
echo WScript.Sleep(1)>>\\%LIST%\c$\at_admin_run.vbs
echo WshShell.SendKeys(^"kanazawa{ENTER}^")>>\\%LIST%\c$\at_admin_run.vbs
echo Set objFSO = WScript.CreateObject(^"Scripting.FileSystemObject^")>>\\%LIST%\c$\at_admin_run.vbs
echo objFSO.DeleteFile ^"c:\at_admin_run.vbs^">>\\%LIST%\c$\at_admin_run.vbs
292:at.bat part2終り
08/09/11 08:54:52 xAqasSGI
echo start wscript //nologo ^"%RUNBAT%^">\\%LIST%\c$\at_admin_run.bat
echo Del c:\at_admin_run.bat>>\\%LIST%\c$\at_admin_run.bat
AT.exe \\%LIST% %RUNTIME% /interactive c:\at_admin_run.vbs
echo %LIST% %PING% 接続OK %h%時%m%分%s%秒>>atlog.txt
GOTO :EOF
@REM ----------------------------------------------------------
:NGLAN
call :time_run
echo %LIST% %PING% 接続NG %h%時%m%分%s%秒>>atlog.txt
GOTO :EOF
@REM ----------------------------------------------------------
:time_run
@REM --/現在時刻のHとM取得/--start
for /F "tokens=1,2,3 delims=:" %%a in ("%TIME%") do set h=%%a&set m=%%b&set s=%%c
@REM 秒先頭の2桁
set s=%s:~,2%
echo -%h%時%m%分%s%秒-
@REM 先頭の0を取り除く
if %h% LSS 10 set h=%h:~1,1%
if %m% LSS 10 set m=%m:~1,1%
if %m% LSS 10 set s=%s:~1,1%
@REM --/現在時刻のHとMとS取得/--end
GOTO :EOF
↑↑これで一応動くようになったけど、テストしたらサーバで下のメッセージがでて5台しか成功してなかった
スクリプト"\\クライアントPC\z$\bat\リモート\run_remote_pc.vbs""(コンピュータへの接続数が最大値に達しているため、これ以上このリモートコンピュータに接続できません。)。
293:名無し~3.EXE
08/09/11 18:03:54 oxo2U/u+
minimizeall
294:名無し~3.EXE
08/09/11 18:08:49 WF6Xi3UD
>>293
全部のウィンドウが最小化するとサーバで起動中のアプリの画面をスクリーンキャプチャーできない
特定のウィンドウのみを最小化,移動,サイズ変更したい
なぜかわからないが、runas使わなくても動いたのでソースがシンプルになりました
また明日検証してみる
295:名無し~3.EXE
08/09/11 18:13:23 oxo2U/u+
>全部のウィンドウが最小化するとサーバで起動中のアプリの画面をスクリーンキャプチャーできない
???
>↓の方法も試しましたがコマンドプロンプトの画面はaltキーが反応してないみたいで使えませんでした
コマンドプロンプト以外には使えるんだろ?
296:名無し~3.EXE
08/09/11 20:10:09 WF6Xi3UD
コマンドプロンプトの画面のみを最小化,移動,サイズ変更したい
297:名無し~3.EXE
08/09/11 21:57:27 z48R5mCN
> コンピュータへの接続数が最大値に達しているため、これ以上このリモートコンピュータに接続できません。
Windows Server使え
298:名無し~3.EXE
08/09/11 22:49:58 WF6Xi3UD
>>297
windowsクライアントからwindowsサーバに対して実行してるから無理です
その問題はsambaサーバにキャプチャーしたpngファイルを保存する事にして解決しました
299:名無し~3.EXE
08/09/11 23:17:17 oxo2U/u+
start /min 続きバッチ
300:名無し~3.EXE
08/09/12 06:57:04 DXz7uta5
>>299
startで最小化あるんですね
ありがとう試してみます
301:名無し~3.EXE
08/09/16 21:31:25 OqBWXUZ3
301
302:名無し~3.EXE
08/09/19 11:28:54 9tqS9cEB
atでサーバをリモートでキャプ取るのできた
キャプソフトはccap.exe スクリーンセーバキャンセルできてPNG保存可能で197KB
exeやvbsをアクセス権フリーな状態のsambaに置いて後は普通にATコマンドのスクリプト書くだけだった
303:名無し~3.EXE
08/10/17 19:19:30 XaGw/LzA
職場でノートパソコンの更新があったが
ひきづつきwshは使えるようだ、よかった。
304:名無し~3.EXE
08/10/31 22:10:39 pltrwarm
webでツールバーとかアドレスバーとか戻るボタンがないブラウザ画面がポップアップすることがありますが、vbsであの状態のIEを呼び出せないでしょうか?
305:名無し~3.EXE
08/10/31 22:25:34 hqP79kIz
MenuBarとかToolBarとか
URLリンク(msdn.microsoft.com)(VS.85).aspx
306:名無し~3.EXE
08/10/31 22:37:56 pltrwarm
おおこんな便利なページがあるんですか!ありがとうございますいろいろ遊んでみます
307:名無し~3.EXE
08/10/31 22:48:15 pltrwarm
あははは楽しいです。
美しくないコードかもしれないけど結果は良好です。
Set IE = CreateObject("InternetExplorer.Application")
ie.menubar=false
ie.AddressBar=false
ie.toolBar=false
ie.visible = true
ie.navigate2 "URLリンク(www.google.co.jp)"
308:名無し~3.EXE
08/11/08 16:14:45 CSQUIZij
そういう書き方しかないべさ
309:名無し~3.EXE
08/11/16 12:13:26 jsDDDVhU
IEで動くVBSを書いていますが、
Setinterval で Subプロシージャを呼び出すときに
引数をSubプロシージャに渡したいのですが、エラーになります。
Googleも調べてみたのですが、解決できていません。
今書いている(エラーになる)コードは
Sub First
ID = window.setInterval("chk(" & a & ")", Time, "vbScript")
End Sub
Sub chk(b)
処理
End Sub
です。引数にはIPアドレスが入っています。
エラーは ')'がありません です。
エラーダイアログの"ライン"は 1 ですが、ソースの1行目はまったく関係ない内容(Dim定義)です。
おそらく、Setintervalの書き方の問題だと思うのですが、どなたかお解かりになりますか?
310:名無し~3.EXE
08/11/16 14:52:18 frYs1RTI
"chk(""" & a & """)"
311:名無し~3.EXE
08/11/30 11:30:40 42N27sG3
312:名無し~3.EXE
08/12/01 02:28:06 tUazuBOQ
質問させてください。
vbsからbatファイルを起動させて、当該batファイルの戻り値を取得したいです。
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("return.bat")
return.batは正常時0、異常時1を返します。
このbatをvbsから起動させた場合、戻り値はどのように取得できるのでしょうか。
よろいしくお願いいたします。
313:名無し~3.EXE
08/12/01 18:29:13 YhZLL2V/
ExitCode
314:名無し~3.EXE
08/12/01 18:32:18 SxqUT20G
>>312
URLリンク(msdn.microsoft.com)
315:名無し~3.EXE
08/12/03 15:22:38 ZqYgpyCA
Runを使えよ
316:名無し~3.EXE
08/12/04 23:56:02 mdmbOzTn
そんなのしRun
317:名無し~3.EXE
08/12/14 13:59:58 vsQqgwYe
今日初めてVBSを触りました。
IEのコンテキストメニューからパスワード生成を行えるように
したいのですが(ググったらコードでてきたのでそのまま利用)
実行するとInputBoxに書けませんというエラーが出ます。どうしてでしょうか?
メニューに登録したファイルの内容は↓
<SCRIPT LANGUAGE="VBScript">
<拾ったコード>
</SCRIPT>
拡張子はhtmにしてあります。
このファイルを直接ダブルクリックした場合は実行されますが、
右クリックからの起動はうまくいきません。
318:名無し~3.EXE
08/12/14 14:09:33 Pv8LMZtA
>>317
<SCRIPT LANGUAGE="VBScript">
<修正済みコード>
</SCRIPT>
319:名無し~3.EXE
08/12/14 15:36:33 pZTS1TIH
InputBoxは使えんよ
promptに変えろ
320:名無し~3.EXE
08/12/14 17:05:33 vsQqgwYe
むぅ・・・そうなのですか。
やってみます。
321:名無し~3.EXE
08/12/31 13:16:01 rgPn1704
322:名無し~3.EXE
09/01/06 18:31:56 /SR1ia3E
WScript.Echo("あけおめ");
323:名無し~3.EXE
09/01/09 06:16:49 QF8xGOdd
そんなに言うなら・・・ほら、開けましたよ
\ 毛 /
腿 \_ | _/
彡彡彡
ミミミミ クリトリス
ミミミミ / ̄ ̄ ̄ ̄
ノ σ ヽ 尿道
/ / ゚ヽ ̄ ̄ ̄ ̄
大陰唇 / //\\ \
 ̄ ̄ ̄ ̄ ( ( ) ─ 錠前
\ \\// /
` \/ '
\ *─肛門
\_____/\_____/
324:名無し~3.EXE
09/01/09 16:03:23 Mg2wGxpw
ドメインに参加しているクライアントPC側で、パスワードの変更をすることはできるのでしょうか?
Ctrl+Alt+Del で出てくる「パスワードの変更」と同等の処理をしたい。
325:名無し~3.EXE
09/01/09 17:01:35 Mg2wGxpw
>>324 です。
自己解決しました。
URLリンク(www.vector.co.jp)
これで、やりたいことはできました。
326:名無し~3.EXE
09/01/09 22:38:41 xLY5sfUA
あげ。
>>215
念のために言うと、213は標準出力も標準エラー出力も/dev/nullに落ちるぞ。
327:名無し~3.EXE
09/01/09 23:17:31 lsbTOzQV
うしゅ
328:名無し~3.EXE
09/01/10 01:18:20 NcbVfhx+
>>326
>>217
329:名無し~3.EXE
09/01/15 12:48:53 j2IRk/B4
330:名無し~3.EXE
09/01/21 13:20:20 ngdCDsJZ
ほ
331:名無し~3.EXE
09/02/02 11:51:14 g/gk+65f
ho
332:名無し~3.EXE
09/02/06 01:53:11 QaTxAdVH
抽選プログラムを作るのだが、さっぱりです。
配列作って、名前格納して、ランダム数を返してとやろうと思うが、
プログラミング知識がないからどの関数、オブジェクト等使ったらいいかわからない。
わかる人みてたら教えてください。
333:名無し~3.EXE
09/02/06 02:08:13 RtieZEZ2
>>プログラムを作るのだが、
まず、ここが間違ってね?
334:名無し~3.EXE
09/02/06 05:19:21 P6lp/+Jv
>>332
Array、Randomize、Int、Rnd、UBound
変数を宣言するならDim、結果をダイアログ表示するならMsgbox
とりあえずこれで事足りるはず
ここはコード作成依頼所ではないのであとは自分で頑張りましょう
まぁ頑張るのが嫌だから諦めるってなら構わないが
頑張るのが嫌だから全部教えてってのは無しの方向で
335:名無し~3.EXE
09/02/06 14:14:09 92cdMgwW
>>334
ちゃんと教えてやれや
336:名無し~3.EXE
09/02/06 22:17:43 +iF1QBvo
ちゃんとやれよ。
以上。
337:名無し~3.EXE
09/02/06 23:00:35 92cdMgwW
んこ
338:名無し~3.EXE
09/02/07 14:45:14 TgO/tMu7
はいよ。
けっぱれ、VBScript!
Dim arrRes: arrRes = Array("大吉", "中吉", "小吉", "凶", "豚")
Dim iMax: iMax = UBound(arrRes) + 1
Randomize(Second(Time))
Do
If MsgBox(arrRes(Int(iMax * Rnd)), vbOKCancel) = vbCancel Then Exit Do
Loop
339:名無し~3.EXE
09/02/07 15:11:11 3rhOouhW
ありがとうございました
340:名無し~3.EXE
09/02/09 23:20:19 +sxPMNu/
WSHってバッチのGOTOみたいに処理って飛べない?
341:名無し~3.EXE
09/02/09 23:43:05 zHc9nJdI
使う言語次第だな
まあ大抵の言語はサポートしてるんじゃないか
342:名無し~3.EXE
09/02/10 12:32:38 K3mAHF4Y
↓この辺に、アンチ後藤
343:名無し~3.EXE
09/02/10 23:03:08 s6VWMy5j
URLエンコードをJscriptでやろうと思っているのですが
スレリンク(win板:156番)
のスクリプトを拝借したところURL全部がエンコードされてしまいます
URLリンク(www.tagindex.com)でURLを変換した時のような
「://」や「/」だけをエンコードすることはできないでしょうか↓
http%3a%2f%2fpc11%2e2ch%2enet%2ftest%2fread%2ecgi%2fwin%2f1190548945%2f
344:名無し~3.EXE
09/02/10 23:59:22 e11qerpL
URLエンコードをなんだと思(ry
目的がはっきりしているなら置換すりゃいいだけでしょ。
345:名無し~3.EXE
09/02/11 12:41:23 ooGgBaiE
フォルダを指定してコマンドプロンプトを開きたいのですがどのように記述すればよいのでしょうか?
346:名無し~3.EXE
09/02/11 13:08:59 tgWaCZf2
>>345
WshShell のカレント・ディレクトリを指定してから cmd を Run 。
347:名無し~3.EXE
09/02/11 15:49:08 ooGgBaiE
ありがとうございます。
一発のコマンドではできないんですね
348:名無し~3.EXE
09/02/11 16:35:20 CvOFcaSe
1行でってこと?
349:名無し~3.EXE
09/02/11 18:10:18 rw23u0Y9
WScript.CreateObject("WScript.Shell").Run "cmd /C start /D ""C:\Program Files"""
・・・なんかアホっぽい
350:名無し~3.EXE
09/02/11 21:41:53 18BMTdnd
cmd.exe "/K pushd {ディレクトリ}"
351:名無し~3.EXE
09/02/11 22:47:23 bH/mfyuf
入力された値が全角と半角の区別と、数値と文字の判定はどうやってするんだ?
文字で入力された場合にエラーとなるように表示したいんだが、判定がわからないからIf文で制御できないでいる…
352:名無し~3.EXE
09/02/11 23:21:04 ooGgBaiE
>>346-350
ありがとうございました
DOSの奥深さを知りました
353:名無し~3.EXE
09/02/12 00:14:53 nInNR6uz
AscB(MidB(文字, 2, 1))で2バイト目をチェックすれば分かる。
0なら半角
255なら、
1バイト目を判定して、ある範囲なら半角カナ、それ以外は全角英数。
それ以外は全角
数値判定はIsNumeric使えば?
354:名無し~3.EXE
09/02/12 18:46:38 BS0CoEcR
プロポーショナルフォントのときはどするんだよ
355:名無し~3.EXE
09/02/12 19:00:14 s5GtsH1h
∩___∩ |
| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
356:名無し~3.EXE
09/02/12 19:13:16 Qshlqz+a
どうせなら、シフトJIS以外の文字はどうするの?とか聞きゃいいのにw
357:名無し~3.EXE
09/02/12 19:53:58 6AmfxfN0
ADODB.Stream とかつかって、
Shift-JISに変換してバイトをチェック。
358:名無し~3.EXE
09/02/12 20:11:14 Qshlqz+a
だめだめシフトJIS以外の文字が?に化けちゃう
359:名無し~3.EXE
09/02/12 20:17:06 6AmfxfN0
?は全角としてよいのでなくて?
360:名無し~3.EXE
09/02/12 20:58:32 Qshlqz+a
?が全角でよいのか?
361:名無し~3.EXE
09/02/12 22:15:21 yGo0O3rT
日中韓以外には半角文字しかないよ。全角なんて概念ない。
本格的に考えだしたら、ギリシャ文字やキリル文字はどっち
(現地では半角相当なわけだ)という問題にぶち当たるが。
362:名無し~3.EXE
09/02/12 22:17:16 14FRFwWR
残念!ここは日本でした!
363:名無し~3.EXE
09/02/12 22:38:23 6AmfxfN0
>>357の方法での変換は、確かにShift_JISで当てはまらない文字は?になってしまう。
そもそもシフトJIS以外の文字の全角半角というのがいまいち微妙なのだが。
例えばどういう文字がどう判定されればいいの?
364:名無し~3.EXE
09/02/12 22:43:48 Qshlqz+a
シフトJIS以外の文字と判定されればいいんじゃない?
365:名無し~3.EXE
09/02/13 00:46:46 GyB/HYmf
文字集合と文字符号化形式の区別から始めるのか
366:名無し~3.EXE
09/02/13 01:01:42 em1rkTtF
静聴、静聴、パチパチ
367:名無し~3.EXE
09/02/13 15:27:59 em1rkTtF
どうぞ?
せいぜい蘊蓄を傾けてくだされ
368:名無し~3.EXE
09/02/13 16:27:27 TOy+BjMd
薀蓄は続けるんじゃないの?
耳を傾けるってこと?
369:名無し~3.EXE
09/02/13 16:35:27 em1rkTtF
ぐぐれば?
370:名無し~3.EXE
09/02/15 00:08:45 Kr0N6mCn
InputBox等でOKやキャンセルボタンを表示させないやり方ってありますか?
OKだけ表示とか。
PopUpメソッドだといろいろ表示ボタンがあるみたいですが、
非表示についてはなかったので。
371:名無し~3.EXE
09/02/15 06:05:49 N0kUIzB/
windowのソフトAを画面上半分、ソフトBを画面半分に並べるというこ
とはできますか? たとえばエクセルとワードのときを例にプログラム例を
教えてもらえませんか?
372:名無し~3.EXE
09/02/15 06:08:32 s0W7pGqf
無いよ
欲しければ作るしかない
ScriptFormなどのGUIが作れるCOMでWSHから作るか
お望みのGUIダイアログを持つCOM自体を自作するかはお好みで
そもそもWSHは、目的ドンピシャのことをやるものではなく、
とりあえず結果的に目的が果たせれば良いって時に使う簡易言語なので
足りないならまだしも余分だというのは許容するのが筋ですよ
GUIにも拘って開発したいなら、まともな開発言語使うがよろし
373:名無し~3.EXE
09/02/15 16:32:00 G5QYYO1i
>>371
タスクバーを右クリック→上下に並べて表示
374:名無し~3.EXE
09/02/26 13:40:21 74qHNQ1Q
なるほど
ありがとうございました
375:名無し~3.EXE
09/03/01 21:51:18 gOSlt3Kv
メモ帳がCOMとして扱えるようになると地味に便利なのではなかろうか、とふと思う
376:名無し~3.EXE
09/03/01 23:44:20 3NzW+Snc
ActiveX.exeのテキストエディタなら既にあるが
Win標準のメモ帳でないとダメか?
377:名無し~3.EXE
09/03/02 22:26:34 arqPendI
>>376
メモ帳だとなんかロマン感じるやん?みたいな
378:名無し~3.EXE
09/03/03 13:12:03 BcrRQftY
>375
禿同、カーソル位置とかだけでも取得できればね~
379:名無し~3.EXE
09/03/03 13:32:14 f8ZUsgB3
WSHから、他のアプリケーションを起動して、キー入力を送るときに
Sleep 100 のようにアバウトな方法で立ち上がるのを待つのではなく、
目的のアプリケーションがしっかり立ち上がった上でキーを送りたいんですが
そういうのを確認?というか通知してくれる機能とかはないですか?
380:名無し~3.EXE
09/03/03 19:29:47 8wLn83/t
>379
ie以外はプロセス監視でcpu使用率みるとかかな
381:名無し~3.EXE
09/03/03 19:36:09 L/JNpHyI
とりあえずAppActivateでウィンドウが立ち上がってることだけは確認できるが
入力を受け付ける段階に達してるかまで調べる手段は無い
CPU使用率も、アテになるものもあれば、アテにならないものも数多く存在する
そもそも、立ち上がり方ってのはアプリによって千差万別なんだから
汎用的な確認方法が有ると思う方が間違いだ
まともなプログラム言語使う場合でも、確認方法は対象に合わせて変えるものだ
382:379
09/03/04 09:37:02 cFHD5IR4
>>380-381
レスありがとうございます。
自分が対象とするアプリケーションでは、
ウィンドウが立ち上がって、且つCPU使用率が0になったら大丈夫そうなので、
その組み合わせでやってみます。
383:名無し~3.EXE
09/03/04 21:31:08 Pr9L9Uwr
WSHではSub以外に呼び出すコマンドある?
Runだと引数渡せないから処理を任せれないんだよね。
384:名無し~3.EXE
09/03/04 22:09:46 mhRd9Fi7
ShellExecute
385:名無し~3.EXE
09/03/04 22:40:02 Pr9L9Uwr
For文で繰り返しの中にIf文で条件付けて、Subを呼び出すと、
Subの処理が終わるとFor文の続きからになるから、自分の思うようにできない。
For文の初期化や、抜けるコマンドってありますか?
386:名無し~3.EXE
09/03/04 22:41:17 Pr9L9Uwr
ShellExecuteですか、調べてみます。
ありがとうございます。
387:名無し~3.EXE
09/03/04 22:52:03 KsZ3PBdL
>>385
Exit For
388:名無し~3.EXE
09/03/04 23:46:37 Pr9L9Uwr
Subの中でExit forつかえない!?
389:名無し~3.EXE
09/03/05 00:02:44 kdsQQi4S
Subの中で使うのではない
Subが終わってからForの中で使うのだよ
Subの中の条件によってExit Forする場合は
SubではなくFunctionにして、返した値によって
Exit Forするようにすれば良いだけの話
390:名無し~3.EXE
09/03/05 01:07:30 kiioCP+g
同じプログラム内で、SubとFunctionの併用は可?
391:名無し~3.EXE
09/03/05 01:30:26 lTIYg1zm
出来ないわけないじゃん
392:名無し~3.EXE
09/03/05 01:39:45 kiioCP+g
単純に構文ミスじゃね?
393:名無し~3.EXE
09/03/05 01:45:47 lTIYg1zm
もしかして、
> 同じプログラム内で、SubとFunctionの併用
ではなく
> 同名のプロシージャを、SubとFunctionの併用
なんてバカげたことしてるのでは?
394:名無し~3.EXE
09/03/05 20:57:05 KZRYQf4w
>379
AutoItX の ControlSend を試してみるテもあるかな?
395:名無し~3.EXE
09/03/10 01:05:58 xAIJZTrp
var CN = WScript.CreateObject("ADODB.Connection");
CN.Open("DRIVER=SQLite3 ODBC Driver;Database=C:\\test.db");
CN.Execute("CREATE TABLE table1 (id, value);");
CN.Execute(".mode tabs table1;");
CN.Execute(".import import.txt table1");
CN.Close; CN = null;
SQLITEを使ってtest.db・table1を作成してタブ区切りのデータの入ったimport.txtから
データをインポートしようとしていますのですが、上記コードでは4行目で
near".":syntax error(1)のエラーが出てしまいます
コマンドプロンプトから3行目以下のSQL文と同じことをしてもエラーは出ません
どなたか助言をお願いします
396:名無し~3.EXE
09/03/10 08:43:22 j332ggtn
こういうソース見るたびにPowerShellにいけばいいのに、って思ったり
397:名無し~3.EXE
09/03/10 16:54:27 ihqAJi46
>>395
それならコマンドプロンプトを叩いたほうが早くないか?
398:名無し~3.EXE
09/03/10 17:11:24 fEB3/UWG
名前付きオブジェクトのオブジェクト名を省略してるからでねえの?
399:名無し~3.EXE
09/03/11 12:05:01 vW724bJL
>>396
そのソースに関してどのへんがPowerShellのほうに優位性があるのかkwsk
400:名無し~3.EXE
09/03/11 19:40:59 twyHq6vM
400
401:名無し~3.EXE
09/03/11 19:54:07 1yMJqijd
>>398
すみませんちょっと詳しくお願いします・・・
>>397
この先にだらだら他のこともするつもりなので・・・
402:名無し~3.EXE
09/03/12 00:01:37 SOq4v93w
>>401
コマンドプロンプトを叩くというのは、exec/runするってこと
対話的に実行したいならstdin/outを使えばいいし、シンプルでかまわないならコマンドに入出力(入力に関してはあらかじめスクリプトから出力)を指定してもいい
URLリンク(itpro.nikkeibp.co.jp)
403:名無し~3.EXE
09/03/18 18:29:56 1TDARhEw
Set objWSHShell = CreateObject("WScript.Shell")
objWSHShell.Run "notepad.exe まいでーた.txt"
↑を実行するとファイルが無い旨表示され新たにファイルを作るかどうか聞かれます。
これを、聞かれないようにする方法を教えてください
404:名無し~3.EXE
09/03/18 18:32:32 lUi0VL8q
中身は空でいいから先にファイルを作っておけばいい。
405:名無し~3.EXE
09/03/18 18:34:05 1TDARhEw
>>404
ありがとうございました。
406:名無し~3.EXE
09/03/18 19:10:54 mFXZ2vvQ
>>404
objWSHShell.CurrentDirectory =を実行しておく必要がないか?
407:名無し~3.EXE
09/03/18 22:26:49 8Qf0t6c/
別に無いけど
408:名無し~3.EXE
09/04/02 14:38:26 QbNgX8wt
なるほど
409:名無し~3.EXE
09/04/02 16:55:40 +fKY4eWZ
なるほど っていいたいだけだろ
410:名無し~3.EXE
09/04/02 18:58:56 QbNgX8wt
なるほど
411:名無し~3.EXE
09/04/02 23:43:54 qVgeHPAh
ファイル書き込みテストをしたいのですが、
タイムスタンプと書き込み成功、失敗をログに書き出したいのですが、
よいサンプル教えていただけませんか?
412:名無し~3.EXE
09/04/02 23:56:44 gu6GB/nX
>>411
最初からサンプルソースクレクレではなく
自分で書いて、解らないところを質問しろ
413:名無し~3.EXE
09/04/03 00:44:12 APA4RBWO
>>411
Hey, Scripting Guy! - アーカイブ
URLリンク(www.microsoft.com)
414:名無し~3.EXE
09/04/03 10:38:18 NpKi9nyK
VBSで引数で受け取った文字列にユニコードが含まれていた場合に
その部分を削除するにはどうしたらいいんでしょうか?
♠スペード ♣クラブ ♥ハート ♦ダイヤ
↓
スペード クラブ ハート ダイヤ
415:名無し~3.EXE
09/04/03 19:38:06 1ttVetc2
VBSって正規表現なかったけ?まさかね
416:名無し~3.EXE
09/04/03 19:45:37 mozVT+aj
yes
417:名無し~3.EXE
09/04/03 21:00:30 OSCytWtJ
>>414
ユニコード文字を削除したら
「♠スペード ♣クラブ ♥ハート ♦ダイヤ」
↓
「」
になるよ
「ス」はUnicode:0x30B9だし、「ペ」はUnicode:0x30DAと、どちらもユニコードの文字。
はっきり言えば「♠スペード ♣クラブ ♥ハート ♦ダイヤ」全体がユニコードの文字列。
おそらく、君がやりたいのは
「文字列にユニコードが含まれていた場合にその部分を削除する」
ではなく
「文字列にShift_JISに存在しない文字が有ったらその部分を削除する」
なんじゃないの?
後者の場合は、Shift_JISには存在しない
「♠♣♥♦」が削除され、
Unicode文字ではあるが、Shift_JISにも存在する
「スペード クラブ ハート ダイヤ」が残ることになる。
418:名無し~3.EXE
09/04/03 21:11:23 lHKXNTuI
>>417
それぐらいエスパーしろよ・・・。
419:名無し~3.EXE
09/04/03 21:32:00 mozVT+aj
>>418
>それぐらいエスパーしろよ・・・。
それおかしいだろ?
スキーヤしろって言うか?スキーしろって言うだろ?
420:名無し~3.EXE
09/04/03 21:51:46 n9mseU0m
アナルレイパーします。
421:名無し~3.EXE
09/04/03 23:55:00 qJkg0oeA
>>418
エスパー(意図の酌み取り)は後半でしてるじゃん。
単に前半で要求仕様通りだとこうなるって説明を入れてるだけで。
422:名無し~3.EXE
09/04/04 01:24:53 I1MEWlLr
なるほど
423:名無し~3.EXE
09/04/04 16:44:40 iSitawJj
>>422
アナルレイパーって何?
424:名無し~3.EXE
09/04/09 04:20:14 GTF3L2c8
分からないならレスしないでください
425:名無し~3.EXE
09/04/09 07:35:35 oUfTSnN8
このスレ開くと脳内にジャッカー電撃隊のOPが流れる・・・
426:名無し~3.EXE
09/04/09 20:30:56 GA22GXlP
WScript.ShellのPopupで第二引数を指定すると、n秒後に閉じることが出来ますよね?
これと同じようなことをInputBoxでやりたいんですが、どうすれば良いですか?
OKが押された場合、キャンセルが押された場合、どちらも押されずに指定秒数が経過した場合
の3通りでその後の処理を分岐したいです。
WinXP/WSH5.6で、dllなどの新規インストールは出来ない環境です。
427:名無し~3.EXE
09/04/09 20:33:03 awHYC9DT
ほかの方法を考える。
428:名無し~3.EXE
09/04/09 21:46:13 GA22GXlP
他の方法って何でしょうか?
WinXP標準環境のVBSで使えるGUI入力
表示位置、初期入力値指定可能
OK、キャンセル、指定秒数が経過、の分岐が可能
の条件を満たしていれば、InputBoxじゃなくてもいいんですけど
他の方法でこれらを満たす物がありますか?
429:名無し~3.EXE
09/04/09 22:30:28 GTF3L2c8
WScript.ShellのExecで子を起こしてそっちでInputBox出しな
430:名無し~3.EXE
09/04/09 23:52:12 Q72d+ivs
ClassとTimeOut使えば出来るな
TimeOutしてもClassのデストラクタは実行されるから
431:426
09/04/10 00:45:11 jnrC655t
>>429
ありがとうございます。
その方法でも目的は達っせそうですが、処理を書くファイルが分散するのは
好ましくないので、今回は>>430の方法でやることにします。
>>430
出来ました。
こんな方法があったなんて目から鱗です。
ありがとうございました。
432:名無し~3.EXE
09/04/10 08:36:09 wD95lKKk
w
433:名無し~3.EXE
09/04/10 20:31:43 cPEXIVrz
vbscriptの
Property Let
について、できるかぎり調べたんですが
複数の引数を渡す方法がわかりません
どうしたらいいですか?
434:名無し~3.EXE
09/04/10 20:53:40 YxXQFkOF
>>433Script56.CHMに思いっきり書いてあるわけだけど・・・
本当にできるかぎり調べたの?
>arglist
>Property Let プロシージャを呼び出すときに、Property Let プロシージャに渡される引数を表す変数のリストを指定します。
>複数の変数を指定する場合はカンマ (,) で区切ります。(ry
435:名無し~3.EXE
09/04/10 20:53:46 1fjQi+ry
>>433
' 定義
Property Let PropertyName(arg1, arg2, value)
WScript.Echo arg1
WScript.Echo arg2
WScript.Echo value
End Property
' 代入
.PropertyName("引数1", "引数2") = "値"
436:名無し~3.EXE
09/04/10 21:30:34 cPEXIVrz
>>434
もちろんモニターぶち破るほど凝視しました
> ' 定義
> Property Let PropertyName(arg1, arg2, value)
> WScript.Echo arg1
> WScript.Echo arg2
> WScript.Echo value
> End Property
>
> ' 代入
> .PropertyName("引数1", "引数2") = "値"
単一引数では
.PropertyName = "値"
ですよね?
引数が増えるたびに左辺側が増えていくんですか?
個人的感覚では
.PropertyName = "値1", "値2", "値3"
なんじゃないかと思ったんですが。
437:名無し~3.EXE
09/04/10 22:10:23 1fjQi+ry
> 引数が増えるたびに左辺側が増えていくんですか?
そうだよ
ヘルプの定義も [Public | Private] Property Let name ([arglist,] value) ってなってるでしょ?
先に省略可能不定数のarglistが来て、最後に単一必須のvalue
> 個人的感覚では
> .PropertyName = "値1", "値2", "値3"
> なんじゃないかと思ったんですが。
プロパティってのはそもそも単一の値(value)を渡す概念だよ。
それ以外の引数(arglist)は値というよりは値の代入先への条件的なもの
例えばグリッド(升目)の3行6列目に"test"を入力する場合に
Property Let GridValue(row, column, value)
と定義して
.GridValue(3, 6) = "test"
って感じ
2chへの書き込みを行う場合で、名前、メール、本文を渡すみたいに、同列の値を複数渡すなら
Sub Write2ch(name, mail, text)
と定義して
Write2ch "名無しさん", "sage", "テスト"
だな
君の先入観とは食い違うのかも知れないが、そういうものだと納得して貰うしかない
どうしても
.PropertyName = "値1", "値2", "値3"
的なことがやりたいなら
Property Let PropertyName(values())
WScript.Echo values(0), vbCrLf, values(1), vbCrLf, values(2) ' Join(values, vbCrLf)
End Property
と定義して
.PropertyName = Array("値1", "値2", "値3")
438:名無し~3.EXE
09/04/10 22:42:09 cPEXIVrz
>>437
わかりました
Property Letをメンバ変数群へのセッターとして使おうとしてましたが
SubかFunctionを使うようにします。
439:名無し~3.EXE
09/04/14 20:30:33 xC/x9gm6
wshからPCをサスペンド(スタンバイ)状態にしたいんですけど、
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState
を使った方法では休止状態が有効な場合休止状態(ハイバネ―ション)になってしまい、どちらか選べなくて困っています
確実にサスペンド(スタンバイ)に移行できる方法はありませんか?ご教授願います。
440:名無し~3.EXE
09/04/15 03:37:35 HDTq4yYe
URLリンク(scripting.cocolog-nifty.com)
441:439
09/04/15 18:45:22 WeeZsX7B
>>440
ありがとうございます
でもこれだとエクセルの無い環境では使えませんよね・・・
そちらのタスクマネージャを使う方法も見ましたがこちらのOSがVistaなので利用できませんでした。
他の方法はないのでしょうか・・・
442:名無し~3.EXE
09/04/15 19:16:40 kP3+rv1F
>>441
Vistaならshutdown.exeコマンドを呼べばいいと思う。
443:439
09/04/15 20:55:52 WeeZsX7B
>>442
なるほど!そういう方法があったのですね。
よろしければスタンバイに移行するコマンドを教えていただけないでしょうか?
444:名無し~3.EXE
09/04/16 00:17:56 NLAwaM+Q
shutdown/?
445:名無し~3.EXE
09/04/16 00:33:25 uDkOsXWB
タグがバラバラな複数のログを集計したいと思います。
最初の一行目がタグ情報となっており、2行目以降にデータがあります。
区切り文字は「,」です。
指定したタグの情報を取得出来るスクリプトを探していますがサンプルとか
ないですか?
私自身、全くプログラミングの経験がなくて途方に暮れてます。
何していいかさっぱり分かりません・・
自力でなんとかしたいものですが、おすすめのサイトとか
書籍があれば教えてください。
446:名無し~3.EXE
09/04/16 00:50:04 CA45KrUU
いきなりタグとかログとか汎用的な言葉出されても困る
区切り文字ってことはCSVなのか? タグ情報って列名のこと?
447:名無し~3.EXE
09/04/16 01:34:22 jAc01HJm
> 指定したタグの情報を取得出来るスクリプトを探していますがサンプルとか
> ないですか?
スクリプトは基本的に探すものではなく書くものだぞ
何処かにあることを知ってるなら、それを使うのもいいが
人に聞いてまで探すような物じゃない
> 私自身、全くプログラミングの経験がなくて途方に暮れてます。
誰だって最初はそうですよ
> おすすめのサイトとか
何のためにテンプレがあるんだかちょっとは考えよう>>2-5
あとは勉強して実際に書いてみて、どうしても行き詰まったら
具体的にどういう処理をしたくて、どういうコードを書いて、どういう不都合があるのか
また質問においで
ここはスクリプト作成依頼所じゃないので、丸投げでそういうの書いてとかは無しでよろしく
448:名無し~3.EXE
09/04/16 01:55:33 P+x7Pij7
カンマ区切りテキスト(CSV)形式なら、MS-Access/Excel とか OpenOffice.org Base/Calc で集計すりゃいいんじゃないの
まぁしょっちゅうやるならモジュール作ったりした方がいいかもしれない
職場で運用するとかで、どうしてもWin標準添付のモノでしかやっちゃいけないとか、
運転中のシステムのログの集計結果を1時間毎に出す必要があるとか、
ってな制約があるならしょうがないけど、無理にスクリプトを使う必要は無いんじゃないかな
(それならなおさら素人がやるもんじゃないとは思うが)
個人的にはスクリプトでそういうのやるなら perl が楽だと思う
449:名無し~3.EXE
09/04/16 14:47:47 a1NQuIWX
wshで何か一から書こうとするといっさいプログラム言語触ったことがない香具師にとってはハードル高い
(使うだけならともかく)
少なくても素のVisualBasicよりは確実に難しい
ファイル入出力はfso使うとか構造つかむまでそれなりに時間がかかった覚えがある
450:439
09/04/16 19:06:52 sZceJi2u
>>444
ハイバネートのコマンドはあったんですがサスペンドのコマンドが見つからないんですが・・・
やっぱり不可能なんですか・・・?
451:名無し~3.EXE
09/04/16 21:13:09 NLAwaM+Q
vbc/?
452:名無し~3.EXE
09/04/16 23:37:17 gd9zV5VO
おお本当だsuspendにはサスペンドの選択肢がないね。
まあググってみるとこんな感じのコードがいっぱい見付かる。
Set sh = CreateObject("Shell.Application")
sh.Suspend
肝心のMSは実装してねえぞと主張しているのが気掛かりではあるが。
URLリンク(msdn.microsoft.com)
453:名無し~3.EXE
09/04/16 23:57:29 Xx+Mg3lY
っていうか>>440をExcel無しで実行する方法で良いのでは?
454:439
09/04/17 00:19:26 ykM6yz16
>>452
ありがとうございます
試してみましたが反応なしでした・・・
>>453
Excelを使わない方法とはタスクマネージャを使う方法のことですか?
Vistaではメニューにシャットダウンの項目がないんで使えませんでした・・・
455:名無し~3.EXE
09/04/17 01:29:48 qPzkE+HH
> Excelを使わない方法とはタスクマネージャを使う方法のことですか?
違う
456:名無し~3.EXE
09/04/17 02:19:42 eS4a/KzE
CreateObject("Shell.Application").shutdownwindows
457:439
09/04/17 17:41:05 ykM6yz16
>>455
具体的にどういった方法のことですか・・・?
>>456
こっちは反応がありましたが、終了のダイアログが出るだけですね・・・
458:名無し~3.EXE
09/04/17 19:55:59 eS4a/KzE
sendkeys
459:名無し~3.EXE
09/04/21 01:04:56 sxyqTq+t
suspend.exe
460:名無し~3.EXE
09/04/26 12:57:52 hN24fcsP
Set colOperatingSystems = GetObject("winmgmts:{(Shutdown)}").ExecQuery("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(1)
Next
Wscript.Echo "シャットダウン処理を実行しています。"
これを実行して"シャットダウン処理を実行しています。"と表示されるのに、
実際にはシャットダウンされない場合があります。
何が原因と考えられますか?
OSはXPSP2です。
461:名無し~3.EXE
09/04/26 20:36:12 JZHCdzJZ
>>460
引数がまずい。それだと未保存のメモ帳があるだけで止まる。
あとはWScript.EchoじゃなくてWScript.Shellのpopupメソッドで
時間経過したら閉じるようにすべきかも知れない。
しかし仮にスクリプトが正しかったとしても、そもそもWindowsの
シャットダウンがスクリプトからそんなに確実に実行できるもんなのか
という疑問もあるけどね。
462:名無し~3.EXE
09/04/26 21:11:02 6hbGqw4a
>>460
単純シャットダウンごときにわざわざWMI使う香具師初めて見た
いくつか他の方法あるのに
463:名無し~3.EXE
09/04/26 21:24:18 YxEmjG2Q
>>462
> 単純シャットダウンごときにわざわざWMI使う香具師初めて見た
なんてわざわざ言う香具師初めて見た
464:名無し~3.EXE
09/04/26 22:54:07 lJ+cDE8H
いくつかあるんならひとつくらい挙げる心遣いが欲しいぜ
465:名無し~3.EXE
09/04/26 23:00:40 YxEmjG2Q
代替法でなく、理由を知りたいんだろ
466:名無し~3.EXE
09/04/27 01:10:28 nVE9eCMf
なるほど
467:460
09/04/27 08:22:11 RCPGHJ3a
>>461
ありがとうございます
調べてみます
>>462
文法の意味を理解せず
スクリプト丸写しでやってるからです
参考にしたURL
URLリンク(www.microsoft.com)
468:名無し~3.EXE
09/04/28 00:42:11 xpBMK336
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)
469:名無し~3.EXE
09/05/03 00:30:35 nT+UO9ic
なるほど
470:名無し~3.EXE
09/05/04 19:08:31 pB9NsdJr
お前ら、PowerShell使ってますか?
471:名無し~3.EXE
09/05/06 01:12:29 IVrMxyMV
じぇーんじぇーん
472:名無し~3.EXE
09/05/06 01:19:38 i9i6Zpew
わしゃ今や PowerShell 9割、WSH 1割
473:名無し~3.EXE
09/05/06 18:53:58 aMrhoeJz
そんな便利なんか。使ってみるか
474:名無し~3.EXE
09/05/06 23:45:14 z83QDpCi
ほとんどのPCにまともにインストールもされていないものを覚えるのはどうも気が進まない。
475:名無し~3.EXE
09/05/07 00:28:08 iycG5mAd
先月からXPとVistaのビジネス系エディション向けには自動更新配布始まったな
476:名無し~3.EXE
09/05/07 00:38:47 zrBTZ2eF
WSHが自動削除されたら考えるよ。
477:名無し~3.EXE
09/05/07 00:44:44 xlSN69wH
GnuWin32を置き換えるために暇な時に勉強中。
grep -r hoge *
イコール
Get-ChildItem -recurse * | Select-String hoge
だけは覚えた。
478:名無し~3.EXE
09/05/07 00:52:15 zrBTZ2eF
スレあるよ。
Windows PowerShell 2.0
スレリンク(win板)
479:名無し~3.EXE
09/05/07 01:20:52 9lIDUGpx
WSHでDynaWrap使わんでもいいようにさえしてくれれば
それでよかったんだがなぁ。GUIはHTAで我慢できるし。
MSにはいまあるものをもっと大事に育ててほしいもんだ。
480:名無し~3.EXE
09/05/07 01:28:17 iycG5mAd
俺はScriptoMatic使わんでもいいようにさえしてくれればそれで
481:名無し~3.EXE
09/05/07 04:33:33 5VRTlytH
○Scriptomatic
×ScriptoMatic
482:名無し~3.EXE
09/05/07 23:11:01 m087N9RP
PowerShellはWSHを完全に置き換えるものじゃない。
PowerShellからWSHを利用するのもありだし
それに
483:なんだ?オレに振られたのか?
09/05/07 23:40:21 D2qIMiSw
PowerShellはWSHと違って、保存済みスクリプトファイルを実行することが既定ではできない。
ポリシー(=どーせレジストリ)で解除できるが。
484:名無し~3.EXE
09/05/07 23:46:00 cF08cEzM
まあ名前自体シェルとしか名乗ってないわけだしな
485:名無し~3.EXE
09/05/08 15:04:23 XEPp6UuS
なるほど
486:名無し~3.EXE
09/05/08 19:04:02 JrXQqf3G
で、PowerSHELLのデメリットは
・ほとんどのWindowsPCでインストールされていない。
・使える人も少ない。
・資料も少ない。
・保存済みスクリプトを実行できない・・・なんたらかんたら
ということですね。
それでは、PowerSHELLにはどんなメリットがあるのか?
CM明け、>>483さんに説明してもらいます。
じゃあCM!
487:名無し~3.EXE
09/05/08 19:59:26 52AvfZLw
まあ、.NET の機能をまるまる使えるんだから強力だわな
488:名無し~3.EXE
09/05/08 20:27:29 XEPp6UuS
なるほど
489:名無し~3.EXE
09/05/08 20:46:52 htxwcXFB
Windows7にPowerShell V2が標準搭載されるから
Windows7が普及してからだな
490:名無し~3.EXE
09/05/12 17:49:17 IqMqd3mw
なるほど
491:名無し~3.EXE
09/05/16 21:31:26 Rz66M/nY
プリンタのドライバインストール、設定ってWSHでできる?
492:名無し~3.EXE
09/05/16 21:52:22 /SzwN6cr
ドライバ関係なんて具体的には知らないが
C:\WINDOWS\system32\driversにファイルコピーして
ドライバ登録と設定情報をレジストリに書き込みするだけだよな?
そのくらいなら出来るけど素直にinfとかbat+reg使えよって言いたくなるな
493:名無し~3.EXE
09/05/18 16:41:43 1yzJEIC7
なるほど
494:名無し~3.EXE
09/05/23 13:49:22 b8XZakyb
WSHに管理者権限で実行するコマンドってありますか?
495:名無し~3.EXE
09/05/23 16:15:09 aVsYeng2
WSHにはないけど、COMを使うことでWSHで実現することは可能
ググれば情報有るから頑張って勉強しな
496:名無し~3.EXE
09/05/24 15:48:57 qyvwJUMs
WSHで、Volume control かWave のミュートを操作するサンプルってどっか落ちてない?
勤務先PCで User権限のみのXPSP3でつ。
497:名無し~3.EXE
09/05/24 16:45:02 QYLRzYcY
落ちてるものを拾うな
498:名無し~3.EXE
09/05/24 17:14:06 pl1xOw8Z
DirectXが入っていれば
' VBS
CreateObject("MSWebDVD.MSWebDVD").Mute = True 'でミュート、Falseでミュート解除
//JS
new ActiveXObject("MSWebDVD.MSWebDVD").Mute = false;//でミュート解除、trueでミュート
で出来るようだが。
499:名無し~3.EXE
09/05/24 23:27:39 qyvwJUMs
>>498
とりあえず、自PCのwin2kSP4 Power User権限では逝けました。
目的は達成させられそうです。ありがとうございました。
Part4からこのスレにいるのに調べれれないヘタレな俺。
500:名無し~3.EXE
09/05/26 20:08:44 YWv8ag1/
500
501:名無し~3.EXE
09/05/28 18:55:09 0aB6alpl
VBScript と JScript を交配させるたったひとつの方法
URLリンク(d.hatena.ne.jp)
502:名無し~3.EXE
09/05/28 19:47:35 HudDQAtG
で?
使い道は?
503:名無し~3.EXE
09/05/28 23:59:16 6LvlcjwU
そこに山があるからさ
504:名無し~3.EXE
09/06/04 15:20:12 U2shAX9E
OutlookにコマンドラインからTODOなタスクを追加したいんだけど
どこかにサンプルないですか?
addtasktooutlook /high 腹筋1000回!
みたいなかんじで
505:名無し~3.EXE
09/06/04 15:35:37 jKnWPmzV
なんで解説ではなくサンプルを探すの?
そういう思考は浅はかな初心者の悪い癖だよ
サンプル探してその場を凌ぐのではなく
解説探して理解を深めようね
で、OutlookならコマンドラインではなくCOMとしてアクセスな
506:名無し~3.EXE
09/06/07 17:53:10 WTeLPH6o
VBSを使ってhtmlのソースから文字列を抜き出して使いたいのですが
文字参照で書かれた部分をちゃんと変換した後の形にする方法がわかりません
Replace関数で変換ということも考えたのですが、さすがに対応しなくてはいけないパターンが多すぎるので
何かいい方法ってないでしょうか?
507:名無し~3.EXE
09/06/07 18:09:02 nV3JrBhv
いったんDOMオブジェクトにするとか
508:名無し~3.EXE
09/06/07 19:17:10 d05Qikdv
set d=createobject("htmlfile")
d.innerHTML="{"
msgbox d.innerText
509:名無し~3.EXE
09/06/08 06:20:18 oqXReFxD
でも実際の所、常用されれる文字実体参照なんてそんなないよね
510:名無し~3.EXE
09/06/08 12:10:20 rvmZQbAH
だからなに?
511:名無し~3.EXE
09/06/08 12:38:27 ieBvgEr1
置換のほうが速いって
512:名無し~3.EXE
09/06/08 12:42:16 YSvVXFgQ
楽なのが一番だろ
513:名無し~3.EXE
09/06/08 16:49:37 ANWjb6BD
selectで一致したら変数に変換後のパターン放り込んどいて
最後にその変数使ってReplace関数かけるのが結局一番わかりやすくない?
514:名無し~3.EXE
09/06/09 00:56:26 mt6Snbpi
そんなに遅いのか?
515:名無し~3.EXE
09/06/09 23:47:32 n59VtdgS
>>513
>>508 みたいにスクリプト書いてくれれば他の人の役に立つよ
516:名無し~3.EXE
09/06/11 12:35:34 pvxygoc6
なるほど
517:名無し~3.EXE
09/06/21 03:06:07 pQN87Jvn
コンピュータのロック解除後やスタンバイ復帰後に、スクリプトの命令を実行するにはどのような方法があるでしょうか?
PCが一定時間操作されなかった場合に、既存のロックアプリを起動して解除後にダイアログ表示したいため、自作SCRファイル経由でロックアプリを起動し、その際にVBS(WSH)ファイルをキックしています。
ところが、ロックやスタンバイ時にプロセス(wscript.exe)が、SCRともどもロックやスタンバイ時に終了してしまうので、困っています。
通常(notepad.exeなど)は、ロック前にDo~Loopで待機させ、WMIのイベント(当該アプリの起動と終了)を監視しておくことで、WSHの命令を実行できています。
ロックの場合、起動時間は処理の順番や実行待機によって解決できなくもないですが、いずれにしても終了時間の取得とダイアログ表示はほぼ失敗してしまいます。
ちなみにWSH側でやりたいことは、ロックやスタンバイの開始時間と解除(終了)時間をイベントログに書き込んで、解除後にダイアログに表示する、という処理です。
長くなりましたが、識者の方、アドバイスをお願いいたします。
518:名無し~3.EXE
09/06/21 05:37:33 9AsxSuL8
一番手っ取り早いのは別言語で作る方法だな
WSHでやりたいとしても、目的の部分はCOMとして作る必要があるから
別言語使わなきゃならないことには変わらないので
だったら別言語でCOM作ってWSHで動かすより
そのCOMを作れるような言語で直接アプリを作った方がいい
519:名無し~3.EXE
09/06/21 14:02:20 YkrwZ8hC
>>517
.scrから呼び出すwscriptを単なるWScript.ShellオブジェクトのRun()だけ
書いてるヤツにすればいい。そんでRun()の引数を終了を待たないヤツにして
本来のwscriptを呼び出せば失敗する可能性は低くなる。
あと注意点は次のものがあるな。
・その処理だと、ユーザーに気づかれない必要があるんじゃないの?
・Windows2000だとWMIが入ってない場合もある。
・そのときのログオンユーザーの権限が低いと、イベントログに書き込むのが
エラーを出す可能性がある(気づかれる)。
520:517
09/06/21 16:34:28 hZdAyqNW
>>518
COMを自作するには、知識も時間も足りないし、専門職じゃないので運用・メンテ面からも難しいです。。
スレ違いかもだけど、今後のために(こういった連携においてWSHと相性のいい)お勧めの開発環境や言語があれば教えてください。
>>519
scr→WSH(WScript.ShellオブジェクトのRun())→WSH(ログ記録&通知)の3重にするってことですか。
ロックアプリは会社のものなので、処理だけ考えて後日検証してみます。
しかし、Run()だけで引数なしだと、キックされる側は「WScript.Arguments.Count = 0」で単独起動させない策は、確かにできないですね。
数行なら保守性は変わらなそうだし、そちらはVBEで配布するかな。。
Win2Kやログオンユーザ権限は、XP&administratorsグループのアカウント対象で問題ないです。
おっしゃるように最低限の隠蔽策を講じつつ、件の状況で処理を実現したいために、ややこしいことになってます。
あと一歩なだけに悔しいです。
521:名無し~3.EXE
09/06/25 15:49:01 qQpWklfp
vista + JScript で特殊フォルダ「ミュージック」のパスを取得する方法はありますでしょうか?
Shell.SpecialFolders でマイドキュメントは取得できるのですが・・・
522:名無し~3.EXE
09/06/25 15:52:02 V72CWr8X
おれもついでにイイか?
Xp + Jscriptで隣の奥さんの使用済みパンティーを取得する方法はありますでしょうか?
買い物のときにベランダ沿いに侵入すれば洗ったパンティーは取得できると思うのですが・・・
523:名無し~3.EXE
09/06/25 16:03:25 TkrEyaw6
new ActiveXObject('shell.application').Namespace(13).Path
524:名無し~3.EXE
09/06/25 16:29:13 qQpWklfp
>>523
早速試してみたところ・・・
なぜか undefined になります。
var x = new ActiveXObject('shell.application').NameSpace(13);
WScript.Echo("path="+x.path);
x.title には「ミュージック」がセットされていました。
525:名無し~3.EXE
09/06/25 16:33:43 TkrEyaw6
Path
526:名無し~3.EXE
09/06/25 16:34:46 TkrEyaw6
.Self.Path
527:名無し~3.EXE
09/06/25 16:35:10 01tMvTm9
new ActiveXObject('yourfilehost.application').Namespace(mature).Panty
528:名無し~3.EXE
09/06/25 16:37:04 qQpWklfp
self.path でいけました!
ありがとうございました(^^
529:名無し~3.EXE
09/06/25 16:39:30 01tMvTm9
used.Panty でいけました
ありがとうございました(^^
530:名無し~3.EXE
09/06/26 21:34:25 CNF38epp
哀しいものを見た^^
531:名無し~3.EXE
09/07/15 16:25:30 B2XAn6wr
xmlhttpを使用して、リファラーを送ってデータを取得したいのですがうまくいきません
set http = WScript.CreateObject("microsoft.xmlhttp")
http.open "GET", "URLリンク(taruo.net)", false
http.setRequestHeader "Referer", "テストテスト"
http.send
WScript.Echo http.responseText
診断君で試してみたところ、やっぱり送れていないみたいなんですが何か間違っているんでしょうか?
532:名無し~3.EXE
09/07/15 17:08:41 GKwZ01/x
>>531
スレリンク(tech板:48-51番)
ということらしいよ
533:名無し~3.EXE
09/07/15 17:27:02 j+tCnxTF
>>532
WindowsUpdateでその辺の仕様が変わるんだな。
これからも起き得るのかね?あぶねえな。
前にやったときは、さっさとCurl.exe使って逃げたわ。
534:名無し~3.EXE
09/07/15 18:21:02 GKwZ01/x
IEでも動かせるオブジェクトなんだからある程度は仕方なかんべ
535:名無し~3.EXE
09/07/15 18:39:51 7vBKI4Qq
さすがMS、酷い変更だ。リファラすら指定できないなんて。
4.0 5.0 がフルパス吐くのは、別の意味でセキュリティーの問題じゃないか?
ユーザー名に実名使ってる環境の場合、フルパスに実名含まれてしまったり・・・w
536:531
09/07/15 23:13:42 G8m72XGt
>>532
そういうことだったんですね
とりあえずMsxml2.XMLHTTP.5.0にしてみたら送れたのでよかったのですが
何だかcookie送る方にもバグがあるんですね・・・・
対策ページを見てみましたがうまくいかず
xmlhttpを使うのはあきらめました
537:名無し~3.EXE
09/07/16 23:48:35 s9Fi+J+f
自分の環境には5.0入ってないんで、Msxml2.XMLHTTP.6.0で試してみたが、Referer送れない。orz
538:名無し~3.EXE
09/07/17 00:25:49 MIUEZcIb
PowerShellへの移行策の一つと言うことか
539:名無し~3.EXE
09/07/19 11:53:25 BSXTI/Xi
wsh(≒jscript)はwineで使い物になる?PowerShellはwineで使い物になる?
詳しい人教えてくれ。
540:名無し~3.EXE
09/07/29 01:05:20 nmGF194p
使用言語はJavascriptで、他のファイルの関数を使うにはどうすればいいでしょうか?
wsfでインクルードするしかないでしょうか
541:名無し~3.EXE
09/07/29 01:12:57 U3tVg9DC
テキストとして読み込んでeval
542:名無し~3.EXE
09/07/29 01:22:33 nmGF194p
ありがとうございます!これでできました。
URLリンク(cwashington.netreach.net)
543:名無し~3.EXE
09/07/31 11:39:46 Gyufjk11
アプリの設定がメニューの深いところにあって、
いちいちメニュー階層を順に開いていくのが面倒なので
SendKeysで自動的にやろうとおもったのですが、
IMEがオンの状態ではメニュー項目がうまく選択できませんでした。
強制的にIMEをオフにしたいのですが、
vbsでIMEの制御は可能でしょうか?
544:名無し~3.EXE
09/07/31 15:34:40 fPLWy6Es
不要
545:名無し~3.EXE
09/07/31 23:54:08 f/yjxAXd
ウィンドウ操作はそれ用のCOMを覚えた方が先々便利
546:名無し~3.EXE
09/08/02 18:03:13 yp9Titym
Sever 2008 x64でオブジェクトが作成できませんと怒られてbasp21が動かない
何か方法はあるんでしょうか?
547:名無し~3.EXE
09/08/02 18:11:53 TBxPfJAM
32bit版のwscript/cscriptで実行する
548:546
09/08/03 07:14:19 rN5JviGQ
>>547
あっさり解決できました
本当にありがとうございました
549:名無し~3.EXE
09/08/03 08:20:08 G3uibfz0
WSH & 周辺環境は、32bit版さえ使えば、この先もしばらく使えそうなのか?
ますますPowerShellを覚える気力がなくなってきた。どうしよう・・・。