WSH(・∀・)スレッド! Part 4at TECH
WSH(・∀・)スレッド! Part 4 - 暇つぶし2ch439:409
10/08/08 21:33:13
>>438
それだと、うまくいかないでしょ。


440:デフォルトの名無しさん
10/08/08 21:58:08
>>439
となると

if ((IE.Document.body.innerText)==(IE.Document.body.innerText.indexOf("form"))){ //処理 } else { //処理2 }

こう・・・でもないな

441:デフォルトの名無しさん
10/08/08 22:07:32
innerTextでページ内のHTMLを・・・

・・・あれ?


if ((IE.Document.body.innerHTML)==(IE.Document.body.innerHTML.indexOf("form")))
これでもだめ?


442:デフォルトの名無しさん
10/08/08 22:13:58
innerHTMLでページ内のHTMLを全部取り出すんだから
innerHTML.indexOf("文字列") で検出した文字列とinnerHTMLのソースと照らし合わして処理・・・じゃないのか?
ならなんで動かないのかと

443:409
10/08/08 22:15:05
>>441
その条件式では、左辺値と右辺値は永遠にイコールにはならないから。


444:デフォルトの名無しさん
10/08/08 22:22:21
>>443
IE.Document.body.innerHTML.indexOf("form")は文字列を検出して表示するんじゃないのか?

文字列があるならその文字列を表示してなければ-1だったはずだが
それと左辺値を比較して左辺値の文字列の中に右辺値の検出した文字列があれば処理1 なければ処理2じゃないのか?



445:デフォルトの名無しさん
10/08/08 22:33:22
あぁ・・・そういうことね

左辺値からすでに間違えていたのか俺は

if((IE.Document.body.innerHTML.match("form")==("form"))

左辺値がソース全体だったら右辺値はformだけでソースとまったく一致しない
ならば左辺値をソース全体からformだけを検出し なければnull それを右辺値と比較

こんな簡単なことに気付かなかった自分が恥ずかしいわ。。。


446:409
10/08/08 22:39:18
>>444
indexOfの説明を良く読んだ方がいいと思う。

URLリンク(www.microsoft.com)
から、 scd56jp.exe をダウンロードし、インストールすればヘルプファイルがインストールされると思う。

直リンクはこちら
URLリンク(download.microsoft.com)

結構役に立つ。
あと、 IE Developer Toolbar も便利。
URLリンク(www.microsoft.com)


447:デフォルトの名無しさん
10/08/09 01:17:32
URLリンク(www.mbga.jp)
URLリンク(www.mbga.jp)
この子ね

>>403 と全く同じ質問しててワラタ
ポイント稼ぐために、必死こいてスクリプト組んでるみたいよw

448:デフォルトの名無しさん
10/08/09 09:59:26
>>447
ワロタ
なんだこのハゲ リアルでのハゲなのか?w

449:デフォルトの名無しさん
10/08/09 13:35:23
IEで
document.location.reload() はできて
document.location.back() はできないんだな

450:デフォルトの名無しさん
10/08/09 13:51:43
document.histry が使えないって・・・

451:409
10/08/09 18:45:15
ところで、WSH使いって、仕事の案件等の為に使っている人と>>447みたいな人とどっちが多いの?

自分は>>447の様な理由でやってるだけだけどさ。
プログラムは20年近く昔に学生の頃に授業でFortran77とLispのS式を習った程度。
学生時代、一緒だった人は何だか未踏のスーパークリエイターで表彰台に上っている写真がIPAのサイトに掲載されてたけどさ。

楽天のメルマガが1週間で2千通を超えるので、メルマガ解除用のスクリプトでも書くか…


452:デフォルトの名無しさん
10/08/11 17:17:28
過疎だなぁ

WSHってそんなにマイナーかな

453:デフォルトの名無しさん
10/08/11 17:25:57
作者タンがカキコしてくれないからな。

454:デフォルトの名無しさん
10/08/11 17:40:27
ハゲでも誰でもいいから来てくれ…

455:デフォルトの名無しさん
10/08/13 01:19:09
みんな暇そうだから質問投下


VBSで多重起動を防止するのをJSでできるか


FSOだとロックファイルの作成と削除はできるけど 重複した時の処理が分からない

456:デフォルトの名無しさん
10/08/13 04:56:28
>VBSで多重起動を防止するのをJSでできるか
この意味が分からないけど、
単純に多重起動を抑止するなら、

1. アプリ起動時にロック用フォルダを作成
2. アプリ起動時にロック用フォルダを削除

1. のフォルダ作成に失敗したらほかのインスタンスが起動中なので、メッセージを表示して終了
でダメなの?

457:デフォルトの名無しさん
10/08/13 17:11:53
URLリンク(blogs.msdn.com)

Nanalich 5 Aug 2010 7:50 PM
Is it still possible to use the new JScript engine with ECMAScript 5 features outside of IE?
Like in WSH and/or HTA?

EricLaw [MSFT] 6 Aug 2010 6:55 AM
JScript9.dll is not presently supported for use outside of IE9, HTAs, and Web Browser controls,
so no, it won't be loaded by WSH.



もしかしてWSH切り捨て?

458:455
10/08/14 20:10:13
VBSでいう Err.Number はJSではどういう使い方?


VBSでの二重起動防止の方法をJSに直してみたんだけど Err.Numberだけ使えないんだ

459:デフォルトの名無しさん
10/08/14 20:57:05
VBScript
何らかの処理
If Err.Number <> 0 Then
エラーの処理
End If

JScript
try {
何らかの処理
} catch (e) {
エラーの処理
}

vbs ではオプションによるが、エラーが発生したときでも、
処理は継続し、その代りにエラーコードが Err.Number にセットされる
js ではエラーが発生すると例外が発生し、try~catchで捕まえないとアプリケーションが終了する


460:455
10/08/14 21:23:35
>>459
サンクス
ScriptControlで on error resume next を呼び出してErr.Numberの代わりにすることにした


あと
FSOでファイルを削除するプログラムをmakeexeでexeにすると うまく動かないのは俺だけ?


Test.js
(略)
FSO.DeleteFile("Test.exe",true)


これをexeにして起動しても削除できないようです

461:デフォルトの名無しさん
10/08/16 13:57:47
>>457
つまりWSHの進化はこれで止まって、枯れた技術になり、仕様の変更とかややこしいこと考えなくて済むようになるってことか?

462:デフォルトの名無しさん
10/08/16 20:21:32
馬鹿っぱやいJScriptのHTAとかは作ってみたかったかも

463:デフォルトの名無しさん
10/08/20 19:42:58
IEオブジェクトを使ってスクリプトとスクリプトの間で共有メモリみたいな感じで通信=相互にデータのやり取りしようと思ってます。
データのやり取り専用のIEオブジェクトを最初に1つ作っといて、終了せずにずっと使い続けるって形です。
Shell.ApplicationでそのIEのオブジェクトを探して、そこにプロパティ付けて通信するってことです。
XPとIE8だと、new ActiveXObject('InternetExplorer.Application')でIEオブジェクトをつくって
そこにプロパティを付けて、値を設定すればスクリプト間でデータのやり取りができました。
で、Vistaでも試したら問題なく動きました。
ところが、XPとIE6の古いPCではすぐにIEオブジェクトが消えてしまうようでうまく行きません。
ウィンドウを開いた普通のブラウザのIEオブジェクトに対してならデータのやり取りは出来ましたが、
ユーザーが何の気なしにそのウィンドウを閉じたらオシマイです。
ウィンドウなしのIEオブジェクトならそんな心配がないのでいい方法だと思ったんですが、
うまくいかない環境があるようです。結局、このPCはWindowsUpdateしてIE8の環境にまであげたらIEオブジェクトは消えずに通信できました。
となると、この先もなんらかのUPDATE次第で、IEオブジェクトを使った通信は出来たり出来なくなったりするのでしょうか?
簡単に動いたから勿体ない気持ちもあるけど、こんな方法は邪道だから辞めた方がいいのかなw
テキストファイルを使うか、SFCminiを使って共有メモリの関数作っちゃったほうがいいんでしょうかね?

464:デフォルトの名無しさん
10/08/20 20:08:54
>となると、この先もなんらかのUPDATE次第で、IEオブジェクトを使った通信は出来たり出来なくなったりするのでしょうか?

yes

>簡単に動いたから勿体ない気持ちもあるけど、こんな方法は邪道だから辞めた方がいいのかなw

yes

>テキストファイルを使うか、SFCminiを使って共有メモリの関数作っちゃったほうがいいんでしょうかね?

no

465:デフォルトの名無しさん
10/08/22 13:32:25
>となると、この先もなんらかのUPDATE次第で、IEオブジェクトを使った通信は出来たり出来なくなったりするのでしょうか?

yes

>簡単に動いたから勿体ない気持ちもあるけど、こんな方法は邪道だから辞めた方がいいのかなw

yes

>テキストファイルを使うか、SFCminiを使って共有メモリの関数作っちゃったほうがいいんでしょうかね?

no

そのものズバリのオブジェクトを公開するコンポーネントってのがある。こっちのほうが簡単。
>>このコンポーネント(COMサーバー)は、指定した COMオブジェクトを外部に公開し、
>>他のアプリケーションからアクセス出来るようにするものです。
RunObj.exe /RegServer で40KBのファイルを入れるだけ。
var ro = new ActiveXObject('Hyon.RunObject');
URLリンク(hyons.hp.infoseek.co.jp)
これでオブジェクトを作った側のプロセスが生きてる限り、オブジェクトのプロパティを共有できる。
相互に通信したいならこれで行ける。

466:デフォルトの名無しさん
10/08/23 13:36:56
DDE通信なら田楽サーバと田楽DLLでもいいんじゃね?

467:デフォルトの名無しさん
10/08/24 11:31:25
質問。 ScriptControlのAddObjectって一回に1つのオブジェクトしか追加できないんですか?

468:デフォルトの名無しさん
10/08/24 23:05:27
IScriptControl.AddObjectの定義を見ると1つだけのようだ。
[id(0x000009c4), helpstring("Add an object to the global namespace of the scripting engine"), helpcontext(0x00113f4d)]
void AddObject(
[in] BSTR Name,
[in] IDispatch* Object,
[in, optional, defaultvalue(0)] VARIANT_BOOL AddMembers);

469:デフォルトの名無しさん
10/08/25 14:01:43
サンクスです。ScriptControl AddObject でググッても多くの資料は出てこないようですが、
どこかに判りやすい解説をしてるページはありますか?

470:デフォルトの名無しさん
10/08/26 00:28:57
ググッたんなら↓見たろ? これじゃダメかい?
スクリプト コントロールの AddObject メソッドを使用する方法
URLリンク(support.microsoft.com)


471:デフォルトの名無しさん
10/08/26 01:01:56
そもそもCOMに可変長引数ってあるの?

472:デフォルトの名無しさん
10/08/26 01:25:28
ScriptControl.Run("Name", arg1, arg2, ... argn) とか、ふつうにやるじゃんか。
MIDL上はSAFEARRAY(VARIANT)になってるみたいね。
[id(0x000007d3), vararg, helpstring("Call a procedure defined in the global module"), helpcontext(0x00113f09)]
VARIANT Run(
[in] BSTR ProcedureName,
[in] SAFEARRAY(VARIANT)* Parameters);

473:デフォルトの名無しさん
10/08/30 22:05:56
WSHShell.Environment("Process");

でItemを作って他のファイルに変数を渡そうとしてるんだけど 文字化けして
-1.#IND
になってしまうのですがどうすればいいでしょうか

474:デフォルトの名無しさん
10/08/30 22:43:40
>>473
他のファイルってのが何かわからないけど、
環境変数はプロセス毎のもので子プロセスにしか
引き継がれないからではないだろうか

475:デフォルトの名無しさん
10/09/04 20:46:22
てs

476:デフォルトの名無しさん
10/09/04 20:47:30
Open OfficeのプログラムIDってありますか?

477:デフォルトの名無しさん
10/09/04 20:49:32
サゲ進行なんですかね
失礼

478:デフォルトの名無しさん
10/09/04 21:04:18
>>476
やったことないけどこのへん参考になるのかな
URLリンク(wiki.services.openoffice.org)

479:467
10/09/04 21:13:49
>>478
ありがとうござます
公式にページがあったんですね。

エクセルよりめんどくさそう…

480:デフォルトの名無しさん
10/09/14 06:26:28
WMIか何かで、起動中のプロセスのコマンドラインオプションを得る方法はないでしょうか?
Win32_Process では取得できないみたいで…

481:デフォルトの名無しさん
10/09/14 06:48:14
Win32APIのならわかるが

482:デフォルトの名無しさん
10/09/14 07:05:10
SFC miniとか使ってやるのでしょうか?
Win32APIは使ったことがないので、教えてください

483:デフォルトの名無しさん
10/09/14 10:50:32
>>480
XP以降ならWin32_ProcessのCommandLineで取れるよ

484:デフォルトの名無しさん
10/09/14 13:49:05
ありがとうございます。それで取れました。
URLリンク(www.anchorsystems.jp)
に載ってなかったので、そもそも無いのかと思ってました。

485:デフォルトの名無しさん
10/09/14 14:19:09
URLリンク(www.microsoft.com)


486:デフォルトの名無しさん
10/10/09 17:41:15
Windows Script Host のエラーダイアログを非表示にすることはできませんか?

487:デフォルトの名無しさん
10/10/09 17:56:45
try catchとかon error resume nextとかやればいいんでないの

488:デフォルトの名無しさん
10/10/09 18:19:36
try catchでもエラーが出るようなんです

underfined はNull またはオブジェクトではありません


489:デフォルトの名無しさん
10/10/09 18:53:24
そりゃ underfined はそうだろうね。

490:デフォルトの名無しさん
10/10/10 20:06:36
そうだね、ごめん。

491:デフォルトの名無しさん
10/10/24 14:40:44
001.txtから150.txtまでの空のテキストファイルを任意のフォルダに一括作成する方法を教えてください


492:デフォルトの名無しさん
10/10/24 14:48:19
そんなのをWSHでやるのは面倒臭い

493:デフォルトの名無しさん
10/10/24 14:48:55
set fso = wsh.CreateObject("Scripting.FileSystemObject")
for i = 1 to 150
 fso.CreateTextFile(right("00" & i, 3) + ".txt")
next


494:デフォルトの名無しさん
10/10/24 14:49:15
>>492
何でやれば楽なんですか?
よろしけば教えてください

495:491
10/10/24 14:54:40
>>493
できました。
ありがとうございます。

496:デフォルトの名無しさん
10/10/24 14:56:47
逝ってヨシ

497:デフォルトの名無しさん
10/10/24 15:00:14
コマンドプロンプトのバッチでやるとかどう?

498:デフォルトの名無しさん
10/10/24 15:14:20
>>497
スレ違い
スレリンク(tech板)

499:デフォルトの名無しさん
10/10/24 23:36:14
30分くらいのやり取りで完結してしまうとかスタックオーバーフロー並だな
過疎スレの癖にw

500:デフォルトの名無しさん
10/10/24 23:38:44
m9

くやしいのう くやしいのう

501:デフォルトの名無しさん
10/10/25 00:39:32
>>493
right("00" & i, 3)
コレに気づかず
if a < 100 then gyoubangou = "0" + a
if a < 10 then gyoubangou = "00" + a
なんて事してた。
サンクス。

502:デフォルトの名無しさん
10/10/25 01:24:06
2ch は心の荒んだ人の溜り場だな

503:デフォルトの名無しさん
10/10/31 13:54:53
△心の荒んだ人の溜り場
○ヒトが心の歪みを、吐き出す場所。

504:デフォルトの名無しさん
10/11/01 20:30:07
32bitで動いてるか64bitで動いてるかどうやって判定する?

505:デフォルトの名無しさん
10/11/01 20:38:35
wscript.fullname

506:デフォルトの名無しさん
10/11/01 21:41:24
タスクマネージャ見れば32bitで動いてるプロセスは
firefox.exe * 32
みたいになってる

507:デフォルトの名無しさん
10/11/01 22:18:52
貧乏人は32bit。所得が高い人は64bit。顔を見れば判る。

508:デフォルトの名無しさん
10/11/02 01:07:29
>>504
URLリンク(blog.livedoor.jp)

509:デフォルトの名無しさん
10/11/02 01:13:13
if( typeof( koumuin ) == "object" ){
WScript.Echo("あなたは勝ち組64bitです")
}else{
WScript.Echo("あなたは消費とは無縁な32bitです")
}

510:デフォルトの名無しさん
10/11/02 16:54:11
32bit winの32bit ieと64bit winの64bit ieが区別でけんな

511:デフォルトの名無しさん
10/11/02 18:11:28
folderexist("c:\windows\syswow64")

512:デフォルトの名無しさん
10/11/22 21:12:19
WindowsXPでコマンドプロンプトを使用しています。
colorコマンドや、cmd /t:である程度色は変更可能ですが、
ショートカットファイルでの設定
URLリンク(cmd-pro.com)
のように、もっと色を細かく指定したいと考えています。

WSHのCreateShortcutで、色を指定したショートカットファイルを作ることはできないでしょうか?
よろしくお願いします。

513:デフォルトの名無しさん
10/11/22 23:48:36
\HKEY_CURRENT_USER\Console
の中に ColorTable00 ~ ColorTable15 っていうのがデフォルト 16 色

個別の設定は標準の cmd.exe なら
\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe

C:\hoge\fuga\hage.exe なら
\HKEY_CURRENT_USER\Console\C:_hoge_fuga_hage.exe

に ColorTableNN を追加

514:512
10/11/23 06:35:27
>>513
ありがとうございます。
いけました。

515:デフォルトの名無しさん
10/11/23 09:08:57
Vistaだとうまくいかないみたいだけどwindows7ではどうなんだろう?

516:デフォルトの名無しさん
10/11/23 09:43:25
\HKEY_CURRENT_USER\Console\ショートカット名(.lnkを除く)

の ColorTableNN を上書き
で逝けました

517:デフォルトの名無しさん
10/11/23 10:10:12
ありがとうございます。
いけました。

518:デフォルトの名無しさん
10/11/23 11:14:45
>>516
それWindows7での話?

519:デフォルトの名無しさん
10/12/04 19:35:44
cscriptから起動してるときにウィンドウのタイトルをjscriptから変えるにはどうしたらいいんだろ?

520:デフォルトの名無しさん
10/12/05 03:46:26
new ActiveXObject("WScript.Shell").Exec("cmd.exe /c title newtitle")

521:デフォルトの名無しさん
10/12/05 13:39:12
ありがとうございました。いけました。

522:デフォルトの名無しさん
10/12/06 22:47:48
IEをバージョンアップしてjscript.dllが新しくなったらWSH上のJScriptも早くなるの?

523:デフォルトの名無しさん
10/12/06 23:07:55
IE9からはJSscriptがIE内臓になって、COMの形で提供されなくなるらしい

524:デフォルトの名無しさん
10/12/06 23:18:07
それならそれでいいや。htaの動作や仕様はそこで固まるってことでいいわけ?

525:デフォルトの名無しさん
10/12/08 13:59:36
vbscriptも?

526:デフォルトの名無しさん
10/12/11 19:29:48
スクリプトエラーがexitcodeで判定できないの?

527:デフォルトの名無しさん
10/12/12 16:48:40
スクリプトでは0以外返せば、0ならエラーと分るな

528:デフォルトの名無しさん
10/12/14 16:51:05
なるほど 裏をかくわけですね

529:デフォルトの名無しさん
10/12/15 05:58:57
「ファイル名を指定して実行」をコマンドから起動したいのですが、
方法が解りません。なにか方法はないでしょうか?


530:デフォルトの名無しさん
10/12/15 07:48:11
send,#r

531:デフォルトの名無しさん
10/12/15 12:59:41
「ファイル名を指定して実行」をコマンドから起動でぐぐれ

URLリンク(scripting.cocolog-nifty.com)

532:デフォルトの名無しさん
10/12/15 13:41:54
すれ違いだろ このすれではshell.filerunだろ

533:デフォルトの名無しさん
10/12/15 14:35:13
なんでそんな事したいのか解んねw

534:デフォルトの名無しさん
10/12/15 19:39:35
コマンドでもスクリプトでもどっちでもよいが、コマンドラインを「ファイル名を指定して実行」に送れるとよいのだが、無理だろな

535:デフォルトの名無しさん
10/12/15 20:51:29
startじゃだめなん?

536:デフォルトの名無しさん
10/12/15 21:29:54
昔はsendtoxがあったけどな

537:デフォルトの名無しさん
10/12/16 12:19:40
うほおお
ありがとう!>>530-536

538:デフォルトの名無しさん
10/12/17 17:36:46
>>534
MRU書き換えてから開けば?

539:デフォルトの名無しさん
10/12/18 18:41:41
今は Send To Toys 2.6 てえのがある

540:デフォルトの名無しさん
10/12/27 21:43:22
wshからexcelブック開いて
あるシートの最終行を取得したいんだけど
どうしたらいいかな?
LastRow = objExcel.Range("$A$1").End(xlDown).Rowとか
.objExce.Cells.SpecialCells(xlLastCell).Address とかやると
rangeプロパティのcellsオプションがとってこれねぇ!
って怒られるんだけど。(objExcelはエクセルオブジェクトね)

541:デフォルトの名無しさん
10/12/27 21:57:35
work(current)book,work(current)sheetの指定が必要


542:デフォルトの名無しさん
10/12/27 22:51:31
ありがとう
そして今度はまた違うエラーが出るんだが

objExcel.workbooks("C:\test.xlsm").worksheets("data").Range("A5").End(xlDown).Row

未知の実行時エラー 800A03EC

マイクロソフトのページによるとアカウントの権限が
なんちゃらかんちゃら
よくわからんのだが

543:デフォルトの名無しさん
10/12/27 23:04:56
馬鹿には無理

544:デフォルトの名無しさん
10/12/27 23:05:14
すんまそん

545:デフォルトの名無しさん
10/12/27 23:16:08
UsedRangeが使えなかったっけ?
ってか、WSH?

546:デフォルトの名無しさん
10/12/27 23:17:38
ってか釣り

547:デフォルトの名無しさん
10/12/27 23:32:52
悲しいかな釣りではない
今オブジェクトライブラリの設定してる

548:デフォルトの名無しさん
10/12/27 23:39:52
UsedRange.Rowで開始位置はとれた。
なんでEnd(xlDown)が使えないの…

お前らの反応からしてかなりあほな原因なんだろうな

549:デフォルトの名無しさん
10/12/27 23:42:59
xlDownに値が入ってないんだろうな

550:デフォルトの名無しさん
10/12/27 23:53:15
とれた。
ありがとう
いいヒントだった

551:デフォルトの名無しさん
10/12/28 01:00:42
予想通りかなりあほな原因だったな

552:デフォルトの名無しさん
10/12/28 15:27:59
でもさ、いろんなサイトで
(xlDown)ってそのまま使ってるんだぜ?
何あれ、エクセルマクロVBA専用なのか?

553:デフォルトの名無しさん
10/12/28 15:36:19
>>545
これってWSHっぽくない書き方なの?

554:デフォルトの名無しさん
10/12/28 15:40:56
>>553
option explicitを知らんのか

555:デフォルトの名無しさん
10/12/28 15:52:25
>>554
上のほうについちょるよ。
馬鹿で申し訳ないんだけど
explicitステートメントとWSHぽくない
関係がよくわからんのだけど

556:デフォルトの名無しさん
10/12/28 18:43:44
>>552
Yes, we can.

557:デフォルトの名無しさん
10/12/28 22:37:37
>>556
but I can't

まぁ、でも実家帰る前に解決してよかったわthx
じゃあお前らまた来年ノシ

558:デフォルトの名無しさん
10/12/29 18:11:24
wshって将来なくなるの?

559:デフォルトの名無しさん
10/12/29 20:52:26
powershellになるんじゃね?

560:デフォルトの名無しさん
10/12/29 20:54:36
psつまらん

561:デフォルトの名無しさん
10/12/30 13:01:55
そんな簡単にはなくならんだろ
趣味で使ってるヤツらは切ってしまえばグチグチいいながらもなんか他のに移るだろうけど
業務で使ってるヤツがごろごろしてるだろうからいきなり切ったらそういう人種が大騒ぎするぞ

562:デフォルトの名無しさん
10/12/30 16:39:44
cmd.exeがなくなったか?
command.comがなくなったか?

563:デフォルトの名無しさん
10/12/30 17:26:20
エントロピーは増大する

564:デフォルトの名無しさん
10/12/30 18:19:46
VBSなんですけど、例えばIEオブジェクトに自作のメソッドを追加することってできますか?


565:デフォルトの名無しさん
10/12/31 04:17:17
IEコンポーネント使ってます。
通常、ボタンのclickで新しいウインドウが開くページなのですが
「ポップアップはブロックされました。Ctrlキーを押しながら...」とステータスバーに表示されます。
ポップアップを表示させるにはどうすればよいでしょうか?
ちなみにそのポップアップは無視したままで構いません。

566:デフォルトの名無しさん
10/12/31 11:20:25
馬鹿か?

567:デフォルトの名無しさん
11/01/02 08:54:18
どうすれば良いと?

568:デフォルトの名無しさん
11/01/04 14:42:43
URLリンク(www.miraiz.bz)
にあるテンプレートを全て一括してダウンロードしたいです。wshでできますか?誰か作ってくれませんか?


569:デフォルトの名無しさん
11/01/04 22:01:34
馬鹿か?

570:デフォルトの名無しさん
11/01/05 13:35:18
>>569
貴方ほどバカではありません。

571:デフォルトの名無しさん
11/01/05 14:53:33
五十歩百歩ってこと?

572:デフォルトの名無しさん
11/01/05 21:01:56
言いたいだけだろうよ

573:デフォルトの名無しさん
11/01/07 08:31:25
バカですか?
YES→なら帰れ
NO→なら自分で作れ

574:デフォルトの名無しさん
11/01/07 16:25:20
サイトからリンクたどってダウンロードしてくれるソフトなんて、山ほど有るのに、wshでやりたいバカで、自分で作れないバカ。
馬鹿面ライダーダブルってカンジ?

575:デフォルトの名無しさん
11/01/07 16:42:11
>>574
途中でフォームの入力があるよ。
馬鹿?

576:デフォルトの名無しさん
11/01/07 19:53:56
お前ら罵り合ってないで
タイピングにいそしめよ

577:デフォルトの名無しさん
11/01/07 21:55:30
タイピストかよw

578:デフォルトの名無しさん
11/01/07 23:40:40
罵りあうのにタイピングしてる件

579:デフォルトの名無しさん
11/01/16 09:47:06
みんなWindows7つかってる?
WSHとかってXPの頃と変りなく使えてる?

580:デフォルトの名無しさん
11/01/16 10:10:46
Cygwinの動きがおかしい

581:デフォルトの名無しさん
11/01/16 17:06:03
>579
自分も知りたいです。
PCのハードが不調で、ついでに7に移行しようか検討中...

582:デフォルトの名無しさん
11/01/16 17:34:08
>>579
Windows 7 64bitでWSHもHTAも特に問題なく使えてる。

583:デフォルトの名無しさん
11/01/17 01:10:43
>>582
サンクス
HTAも問題ないってのは朗報だね。

でも、IEのバージョンが上がると
HTAの方で出来ることも変わったりするから
油断は出来ねぇ

584:デフォルトの名無しさん
11/01/17 03:41:06
でも、IEのバージョンが上がると
WSHの方で出来ることも変わったりするから
油断は出来ねぇ



585:デフォルトの名無しさん
11/01/17 20:43:56 BE:1455989478-PLT(23456)
IE9beta入れてるけど大抵のことはできること変わんないと思うよ。
あまり凝ったものは組んだことないけど、今までのものは普通に動いてる。

586:583
11/01/18 17:35:11
ごめん別にWSHがIEの影響を受けるって意味じゃなくて
WSH使ったプログラム書くときに
IEに関係する機能を利用してると って事で。

587:デフォルトの名無しさん
11/01/18 18:59:58
ビスタから7はあまり変わらんかもしれんがxpからビスタや7は大変よ
ie.navigate 保護モード無効のサイト
が初っ端から動かんからな


588:デフォルトの名無しさん
11/01/20 00:36:46 BE:2105984399-PLT(23456)
>>586
そういうことか。申し訳ない。

589:デフォルトの名無しさん
11/01/29 18:13:04
お前らプログラム組む時どんな感じなの?
サンプルコピペでちょっと変えて…
の繰り返しって感じ?

590:デフォルトの名無しさん
11/01/29 18:49:18
アプリケーションプログラムではそれもあるけど、スクリプトはほぼベタ書き
精々コードスニペットから自前の雛形引っ張ってくるくらい
スクリプトなんて、サンプル探すより自前で書いた方が早いようなことにしか使わないし

591:デフォルトの名無しさん
11/01/29 20:40:41
>>589
最初に、まずダーっと書く。
自分で用意してある関数群は使う場合があるけど
小さいプログラムやスクリプトの場合は使わない。

で、ある程度書いてから整理の方針を決めて
全体像を決めてから整理する。
主にGUI作るときはこんなん。

592:デフォルトの名無しさん
11/01/29 23:56:31
>>589
サンプルって言うか、自分の書き溜めたコードを雛形にして
書き起こしていくことが多いな・・・

593:デフォルトの名無しさん
11/01/30 05:40:13
書き捨て用のものと再利用を考慮したものでは書き方も変わってくる

594:デフォルトの名無しさん
11/01/30 19:34:34
WSHではあまり書き捨てはやらんな。
常に使っていればいいけど、
たまにしか使わなくなるとなると、メソッドとか思い出すのにちょっとめんどい。

595:デフォルトの名無しさん
11/02/06 15:56:59
最近、VBScript で書き上げても、移植性のなさ、この先のサポートを考えると、一抹の不安が残る今日この頃。

596:デフォルトの名無しさん
11/02/06 17:50:26
移植性のなさって具体的に何?

597:デフォルトの名無しさん
11/02/06 18:17:44
power shellに移行だな

598:デフォルトの名無しさん
11/02/07 00:45:34
>>595
移植性なんか心配してるヒマがあったら、
未来のおまいのために、コードをきれいに仕上げてコメント付けとけ。

599:デフォルトの名無しさん
11/02/07 14:56:34
言語を変えるのを移植とは言わんだろ

600:デフォルトの名無しさん
11/02/07 17:08:00
convertibility

601:デフォルトの名無しさん
11/02/08 10:09:16
>>599
うーん…
簡単にプログラミング言語を変えられない現状を鑑みれば、移植と言って良いと思うな。
そもそも、キミの言う移植がアセンブラレベルの意味合いっぽいじゃん?
もう、誰も、そんな事してないじゃん?

602:デフォルトの名無しさん
11/02/08 14:59:27
あたまわるそう

603:デフォルトの名無しさん
11/02/28 16:37:18.39
index=folderitem.getlink.geticonlocation(path)
pathはbyref string
wshでpathを得るにはどうすればよいのですか?
wshでは不可能ですか?

604:デフォルトの名無しさん
11/02/28 16:47:28.84
普通にやればいいだけだと思うけど

605:デフォルトの名無しさん
11/02/28 18:53:40.12
無理だろ 諦めろ

606:デフォルトの名無しさん
11/03/01 18:50:09.10
wshじゃ内部型stringのvariant型の参照渡しだもんな

607:デフォルトの名無しさん
11/04/17 00:11:31.36
IEが起動しているかどうか調べる方法ってございませんか?
起動してない場合に特定の処理したいので・・・

608:デフォルトの名無しさん
11/04/17 00:14:59.65
>>607
WMI使えば出来るよ

WMIはWSH専用ではない汎用ライブラリで
WSHとは別物でありスレ違いになるので、ここでの詳細解説は伏せる

609:デフォルトの名無しさん
11/04/17 00:59:27.00
>>607
shell.applicationのshellwindows

610:デフォルトの名無しさん
11/04/17 12:43:48.33
AppActivateでChromeをアクティブにしてSendkeysでF5を押してページをリロードしたいのですが、F5が効きません
IEとFirefoxは問題なくできました。
ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
なのでALT+Dを送信してからF5を押せばいいのかと思い"%D"を送ってみたのですがアドレスバーにフォーカスが移りません
Chromeでページをリロードできるところまで何とかやりたいのですが解決方法ございませんか?

611:デフォルトの名無しさん
11/04/17 12:44:34.31

晩生は打ち間違えですので読み飛ばしてください

612:610
11/04/18 00:19:37.81
どうやらF5が効かないのではなくてアクティブになってないようでした
ただ、コードを実行するとChromeが前面に表示されるのですが(Chromeを最小化した状態でも)、どうもChromeの上の青い箇所が薄くなってました(メモ帳で言えば灰色の状態)
Chromeの仕様上WSHでは無理なんでしょうか?


613:デフォルトの名無しさん
11/04/18 15:21:08.85
メモ帳だってappactivate直後のsendkeysは受付ねーが?
適当にsleepしろ


614:デフォルトの名無しさん
11/04/18 15:22:38.38
↑sleep 5000って書いてあんぞ

615:デフォルトの名無しさん
11/04/18 16:15:39.03
それがどうした?

616:デフォルトの名無しさん
11/04/18 16:29:18.91
質問者はsleep書いてるのにsleepしろは矛盾している

617:デフォルトの名無しさん
11/04/18 17:57:39.92
質問者はsleepしてsendkeysしたと書いてるかバカめ

618:デフォルトの名無しさん
11/04/18 18:49:42.87
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました
>ただ、appActivateでChromeをアクティブにしてsleep 5000ぐらい待機させて、その間にアドレスバーにフォーカスを手動で移して晩生SendkeysでF5で更新ができました


619:デフォルトの名無しさん
11/04/18 20:45:09.98
>その間にアドレスバーにフォーカスを手動で移して晩生
これが見えぬか

620:デフォルトの名無しさん
11/04/18 21:14:18.24
手動にしないとF5が効かないって意味じゃないか。
>>619お前ずっと書き込みしてる人?静観してたけどお前がレスすると話がおかしくなるから黙ってがいいよ。

621:610
11/04/18 22:43:31.43
解決できました

622:デフォルトの名無しさん
11/04/18 23:39:08.17
FireFoxなら指定時間毎の自動更新が出来るけどChromeにはそういう機能はないの?

623:デフォルトの名無しさん
11/04/19 19:04:50.94
SendKeysはいいんだけどマウス動かす方法ないの?

624:デフォルトの名無しさん
11/04/19 23:40:59.55
MouseでなくWindowを動かせば?相対的なもんだろ?

625:デフォルトの名無しさん
11/04/19 23:52:03.13
Windows 転送ツールを使ってユーザープロファイルをコピーするのを、
WSHで定期的にタスクで自動実行したいのですが、簡単な方法はありますか?
代替えでAIKつかってコマンドでできるそうなのですが、
うまくイメージがとれませんでした。

626:デフォルトの名無しさん
11/04/20 11:52:54.52
>>624
windowの中をSendKeysで処理したい場合でTABキー移動もできない場合は?

627:デフォルトの名無しさん
11/04/21 01:18:09.34
sendkeys "% m{right}"

628:デフォルトの名無しさん
11/04/21 07:49:23.22
>>627
いや、だから…
例えばブラウザでサイト閲覧してて
SendKeysで入力フォームを自動入力させる処理があるとする
普通ならTABをSendKeysで送ってやれば入力フィールドから次のフィールドにフォーカスが当たる
しかし、FlashやTAB遷移できない要素はマウスでonFocusやonClickする必要がある
これをWSHでどうやればいいだろうかと

629:デフォルトの名無しさん
11/04/21 09:44:55.12
チーター乙

630:デフォルトの名無しさん
11/04/21 11:50:47.68
>>629
ゲーム等のbotプログラムをわざわざWSHでやろうとは思わんよ
業務自動化の使用範疇だよ

631:デフォルトの名無しさん
11/04/22 18:27:34.48
口調が気に食わない

632:デフォルトの名無しさん
11/05/17 19:23:55.22
wsh で c:\Program Files のように標準のプログラム保存フォルダを取得ってできないの?
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
見てみたけど無いんだよね。

633:デフォルトの名無しさん
11/05/17 19:39:21.95
%ProgramFiles%

634:デフォルトの名無しさん
11/05/17 19:56:48.72
>>633
ありがとうございます。

635:デフォルトの名無しさん
11/05/21 21:38:02.65
下記コードのhtmlにアクセスしたら、
指定のURLにリダイレクトさせたいんですが、
どうすればできるでしょうか?
『例』
<SCRIPT LANGUAGE="VBScript">
<!--
// リダイレクト先のパス指定
URLリンク(www.yahoo.co.jp)
-->
</SCRIPT>

636:デフォルトの名無しさん
11/05/21 22:52:30.15
スレ違い・・・・・じゃなかった板違い

637:デフォルトの名無しさん
11/05/22 13:00:28.56
ツールチップを表示したいのですが参考になるページございませんか?

638:デフォルトの名無しさん
11/05/23 10:32:32.56
Win7デスクトップで[並び替え]→[名前]を二回連続で繰り返すwshください

639:デフォルトの名無しさん
11/05/23 17:54:38.56
1回ものはどこかで見たがなぜ2回?

640:デフォルトの名無しさん
11/05/23 20:50:52.50
sendkeys

641:デフォルトの名無しさん
11/05/26 03:41:37.18
>>639
降順じゃね?

642:デフォルトの名無しさん
11/05/30 05:54:47.25
ファイル名を全角→半角にリネームする際にリネーム後のファイル名が重複した場合に
aaa(1).txtというように番号をふって対処したいのですがどのように書いたら良いでしょうか?

~~~
function rename(f) {
var new_name = full_to_half(f.Name);
var new_path = f.ParentFolder.Path + "\\" + new_name;



643:デフォルトの名無しさん
11/05/30 05:57:15.06
つづきです。

if (new_name != f.Name) {
if (fso.FolderExists(new_path) || fso.FileExists(new_path)) {
???
}
~~~

644:デフォルトの名無しさん
11/05/30 08:41:00.90
パスをカンマより前とカンマ以降に分けて変数に格納
c:\hoge\aaa.txt
なら
前="c:\hoge\aaa"  後=".txt"

次に連番化用の変数作って

var 連番文字変数 = "";
var 連番カウンタ変数 = 1;

あとはループ作って

new_path = 前 + 連番文字変数 + 後;
Exists(new_path) //がfalseなら抜け
連番文字変数 = "(" + 連番カウンタ変数 + ")";
連番カウンタ変数 += 1;

ループ抜けたらnew_pathにリネーム

これだけ


最初の「前 + 連番文字変数 + 後」では、連番文字変数が空だから
「"c:\hoge\aaa" + "" + ".txt"」=「c:\hoge\aaa.txt」

二回目は「連番文字変数」に「"(" + 連番カウンタ変数 + ")"」が入っているから
「"c:\hoge\aaa" + "(1)" + ".txt"」=「c:\hoge\aaa(1).txt」


645:642
11/05/30 13:51:29.91
>>644
ご丁寧にレスを下さり有難うございます。
早速試してみたのですが、
この場合だと全角のaaa.txtを半角へとリネームする際に
既にaaa.txtとaaa(1).txtが存在しているとaaa(2).txtとはならずに
aaa(1).txで重複のエラーになってしまいます。
このような場合に無限に連番で処理することは出来ないのでしょうか?

646:デフォルトの名無しさん
11/05/30 13:59:34.54
new_path = 前 + 連番文字変数 + 後;
Exists(new_path) //がfalseなら抜け
連番文字変数 = "(" + 連番カウンタ変数 + ")";
連番カウンタ変数 += 1;

はループ内に入れたか?
ループ内に入れてあれば
> 無限に連番で処理
されるはずだが、というか実際にされているが

647:642
11/05/30 22:09:05.71
>>646
すいません、できました。
親切にお答えいただき有難うございました。

648:デフォルトの名無しさん
11/06/07 13:53:05.03
質問します。
IEのキャッシュを削除するスクリプトを使用したいと思っています。
そこで、下の URL のスクリプトを実行してみましたが、

C:\Documents and Settings\(ユーザー名)\Local Settings\Temporary Internet Files

内のファイルは一切削除されませんでした。
Temporary Internet Files フォルダ自体を削除することを試してみましたが、
「書き込みできません」とエラーが発生しました。
WSHでIEのキャッシュを削除する方法をご存じの方は、ご教示ください。

(環境)
Windows XP SP3
IE 8



649:デフォルトの名無しさん
11/06/07 14:45:35.02
エクスプローラのツリーからは何故か見えないんだけど
実際には Temporary Internet Files\ の下に更に Content.IE5\
というフォルダがあって更にその中の複数のサブフォルダの中にファイルがある

下の URL のスクリプト ってどれよ?

650:648
11/06/07 15:49:30.04
>>649
レスありがとう。そして間違えました。
URLのつもりがキャッシュフォルダのパスを書きました。
正しくは下のやつです。

URLリンク(gallery.technet.microsoft.com)

なお、Content.IE5 以下のフォルダを WSHで削除しようとしても、
「書き込みできません」とエラーが発生します。

何卒、お知恵をお貸しください。

651:デフォルトの名無しさん
11/06/07 16:34:27.94
確かに出るね
IEを終了させたら出なくなったから
使用中のキャシュは消せないんだろうね

652:デフォルトの名無しさん
11/06/07 18:03:52.91
Scripting Guy!はあほじゃね?
cache.vbsとかみたほうがよくね?

653:デフォルトの名無しさん
11/06/07 18:28:31.84
>>651-652
レスありがとうございます。

こちらではIEの起動の有無にかかわらず
「書き込みできません」のエラーがでました。

また、cache.vbs の CacheClear.VBS を試してみましたが、
同スクリプトの17行あたりで
「エラーを特定できません」とのエラーダイアログ表示され、
エクスプローラーでキャッシュフォルダが開かれるだけでした。

そこで該当部分をコメントアウトして実行してみたところ、
エラーは表示されないものの、キャッシュフォルダ内のファイルなどは
一切消されないままでした。

引き続きご教示をよろしくお願いします。

654:デフォルトの名無しさん
11/06/07 19:02:11.42
cacheclear.vbsパッケージのcacheclear2.vbsなんかどう?

655:650
11/06/07 19:36:13.03
>>654
ありがとうございました。
CacheClear2.VBS でうまく削除できました。
あぁ、本当に助かりました。4日くらい試行錯誤しまくっていました。

656:デフォルトの名無しさん
11/06/07 20:49:47.42
C.C.クリーナーみたいなソフトはインストールしたくない、或いは、サクっとキャッシュだけ削除したいから、スクリプトなのかな?
なんか、必死なワリにはググる事しないんで、なんか変だなと思って。w

657:デフォルトの名無しさん
11/06/07 23:42:55.23
Scripting Guy!が出鱈目書いてると思わなかったんだろ
さっさとこっちで聞けば教えてやったのに

658:デフォルトの名無しさん
11/06/08 01:13:27.47
なるほど…

659:デフォルトの名無しさん
11/06/13 19:56:37.20
ぽるぽと…

660:デフォルトの名無しさん
11/06/17 22:30:04.22
InternetExplorer.Applicationオブジェクトで質問なのですが、
・JavaScriptを実行させる
・ページの一番下までスクロールさせる
にはどうやればいいでしょうか?

661:デフォルトの名無しさん
11/06/17 23:34:40.57
Document.Scriptか
Document.parentWindowがwindowオブジェクトなので
そこからevalか何かでどうぞ

662:デフォルトの名無しさん
11/06/18 00:13:12.39
スクロール
ie.document.parentWindow.scrollTo(0, ie.document.body.scrollHeight)

JavaScript実行
ie.document.parentWindow.eval("alert(123)")
または
ie.document.parentWindow.execScript("alert(456)")

なお、該当ページにもともと一切のスクリプトが含まれていない場合、
ie.document.parentWindow.eval()
は失敗するので注意のこと
(IE8 with Windows7 で確認)

663:デフォルトの名無しさん
11/06/18 00:16:32.38
scrollIntoView


664:デフォルトの名無しさん
11/06/18 23:42:29.48
>>662
execScriptはスクリプト無効で使えんよ

665:デフォルトの名無しさん
11/06/19 02:13:51.98
>>664
意味が分からない

自分の環境では、下のスクリプトの実行結果が SUCCESS, SUCCESS, ERROR, SUCCESS ってなるんだけど
使えないってどういうこと?

function foo(url) {
ie.navigate(url);
WScript.Sleep(3000);
ie.document.parentWindow.WScript = WScript;
try {
ie.document.parentWindow.eval("WScript.Echo('eval() SUCCESS');");
} catch(e) {WScript.Echo("eval() ERROR");}
try {
ie.document.parentWindow.execScript("WScript.Echo('execScript() SUCCESS');");
} catch(e) {WScript.Echo("execScript() ERROR");}
}
ie = new ActiveXObject("InternetExplorer.Application");
ie.visible = true;
foo("URLリンク(www.yahoo.co.jp)");// scriptが含まれるページ
foo("URLリンク(www.jaipa.or.jp)");// scriptが含まれないページ


666:デフォルトの名無しさん
11/06/19 03:32:32.70
そのまんまスクリプト無効のゾーンでは使えん

667:デフォルトの名無しさん
11/06/19 07:49:43.41
ADODB.Steam.LoadFromFile()てファイル全部メモリに読み込むんだな
XPsp3(32bit 4GB)で1.8GB弱のバイナリファイル読ませたらメモリ不足になることがあった
wshでこういうファイルを扱ういい方法はないものか

668:デフォルトの名無しさん
11/06/19 08:10:54.77
部分的に読み込んだらいいんじゃない?

669:デフォルトの名無しさん
11/06/19 15:26:18.02
細かく分割してファイルにして書きだして後から操作する。
ちょっと時間かかるがしょうがない。

670:デフォルトの名無しさん
11/06/20 08:29:44.73
>>666
だったらスクリプト有効にすればいいだろ

671:660
11/06/20 09:31:05.44
>>661 >>662
できました。ありがとうございます。

672:デフォルトの名無しさん
11/06/21 17:59:22.78
>>670
ことわる

673:デフォルトの名無しさん
11/06/21 21:03:48.56
>>672
断れません

674:デフォルトの名無しさん
11/06/21 22:30:20.28
スクリプト無効でもできる方法あるのに断ればいいじゃん

675:デフォルトの名無しさん
11/06/22 14:09:25.19
どうやるのどうやるの

676:デフォルトの名無しさん
11/06/22 15:57:15.71
>>675
ことわる

677:デフォルトの名無しさん
11/07/03 15:43:12.47
WScript.Echoって、真偽値を"true" "false"みたいに
文字列で表示してくれないの?


WScript.Echo(func()); #=> 0 or -1

こうじゃなくって、trueかfalseで表示してほしいんだけど

678:デフォルトの名無しさん
11/07/03 16:14:23.83
trueかfalseで表示するようにすればいいだけじゃん

679:デフォルトの名無しさん
11/07/03 16:50:06.25
>>678
いちいち?

680:デフォルトの名無しさん
11/07/03 16:56:59.72
WScript.Echo(func()?'true':'false');

681:デフォルトの名無しさん
11/07/03 22:14:30.52
WScript.Echo(func().toString());
または
WScript.Echo(""+func());


682:デフォルトの名無しさん
11/07/03 22:29:51.52
>>681
ハラショー
EchoをラップしてtoStringの結果を出力する関数使うわ
ありがとう

683:デフォルトの名無しさん
11/07/04 11:13:20.06
1バイト分の16進数を10進数に直接変換する方法ってないかな?
現在、下のような処理を513行書いて凌いでるが、長すぎる…
X = objText.Read(2)'テキストファイルから16進数を呼び出してます
Select Case X
Case "FE"
Y = 254

684:デフォルトの名無しさん
11/07/04 12:18:46.24
Eval("&H"+X)

685:デフォルトの名無しさん
11/07/04 12:37:20.28
>>684
513行かかった処理が1行で終わるとは…感激したっす。激しく感謝!

686:デフォルトの名無しさん
11/07/10 02:58:11.11
NASにおいてある.jsファイルをダブルクリックすると出てくるセキュリティ警告がテラウザイ・・・
なんか良い警告の抑止方法はないですかね?

687:デフォルトの名無しさん
11/07/10 06:59:26.13
おまいらFileSystemObjectとかWScript.Shellとか使うとき
どんなオブジェクト名にしとる?
objFSOとかが多いみたいだけど。
俺は oFs、oWs みたいな感じ

688:デフォルトの名無しさん
11/07/10 07:13:03.17
FSO, WShellにしてる

689:デフォルトの名無しさん
11/07/10 09:03:35.98
>>687
俺は oFs、oSh な感じ
oWsはExcelのワークシートにしてる

690: 忍法帖【Lv=7,xxxP】
11/07/10 09:12:23.42
なでしこ勝利おめこ

691:デフォルトの名無しさん
11/07/10 09:14:28.05
スクリプトはエディタでの色分けの関係で、未だにハンガリアンでやってる
数値や文字列などの値型変数と、オブジェクトなどの参照型変数を色分けしたいのだが
FSOやWScript.Shellみたいに、1個作れば事足りるものばかりなら、単語登録すれば良いが
XML、HTTP、ADOStreamなどは複数のインスタンスを同地に使う場合もあるし
FSOでも下位のFile、Folderオブジェクトとかは複数作ることも多いので
やはり決まったプレフィックス付けて正規表現で色分けするのが手っ取り早いからな

普通のプログラム言語では、もうハンガリアン使ってないけど、
昔はプログラム言語もハンガリアンでやっていて、ハンガリアンはすっかり身に浸みているから、
スクリプトとプログラム言語で記法を変えても混乱はしない

692:デフォルトの名無しさん
11/07/10 21:31:53.75
要約して

693:デフォルトの名無しさん
11/07/11 00:59:08.69
2chの1レスの文字数制限無いに収まるカキコすら読めないような奴に
スクリプト、プログラム言語を扱うのは無理じゃね?

694:デフォルトの名無しさん
11/07/11 05:47:33.80
スクリプト、プログラムにしろ、無意味な長文は苦痛なだけ

695: 忍法帖【Lv=8,xxxP】
11/07/11 08:31:19.23
そうだぬ

696:デフォルトの名無しさん
11/07/11 11:52:25.84
意味のある文章や処理の意味を見いだせない奴を無能と呼ぶ

697:デフォルトの名無しさん
11/07/11 15:21:58.39
意味のない文章や処理をだらだら書く奴を無能と呼ぶ


698:デフォルトの名無しさん
11/07/12 06:04:47.91
自己紹介?

699:デフォルトの名無しさん
11/07/12 10:40:10.94
菅ガンス

700:デフォルトの名無しさん
11/07/13 11:34:10.87
米倉

701:デフォルトの名無しさん
11/07/13 20:38:22.49
向かい側に座ってる女の人のスカートが短か過ぎて困る

702:デフォルトの名無しさん
11/07/14 00:23:47.87
>>691
エディタ何使ってんの?
俺はemacs系エディタ
色分けは最低限でよくね?慣れだとは思うけど

変数名はFOやwsって感じで2文字が多いかなぁ

703:デフォルトの名無しさん
11/07/14 20:37:27.84
>>685
clng使えよ

704:デフォルトの名無しさん
11/07/19 20:03:10.02
parseInt使えよ

705:デフォルトの名無しさん
11/08/03 22:26:40.15
VBSで、ドライブ上のテキストファイル全てを対称に、キーワードを検索する処理を行う
処理としては、対象ファイルを一時ファイルにコピーして、一時ファイルから読み込んで検索、という感じ

ところが、現実に存在していて、アクセス中でも隠しファイルでもない普通のファイルが「見つからない」といって53のエラーをはき出す事が頻繁に発生する。

どんな理由が考えられる?
訳あって、コードは載せれないけど。

すごく困っているので教えて!! いや、教えて下さい。


706:デフォルトの名無しさん
11/08/03 22:40:40.59
ファイル名くらい載せろ

707:デフォルトの名無しさん
11/08/04 02:36:09.08
考えられることはコードが間違ってるってことだな
13行目7桁目を調べろ

708:デフォルトの名無しさん
11/08/04 05:40:59.53
>>705
アクセス権

つか、エラー発生行ぐらい載せられるだろ
みんなエスパーじゃねえんだ

709:デフォルトの名無しさん
11/08/04 22:42:01.24
見られたらまずいんだろ

710:デフォルトの名無しさん
11/08/06 13:52:56.48
>>705
フォルダー名が違うとか、そんなんじゃないの?

Pathの組み立てに、
Path = Folder & "\" & Filename
とか、安易にやっちゃってんじゃないの?
Path = FSO.BuildPath(Folder, Filename)
ってやった方がいいよ


711:デフォルトの名無しさん
11/08/06 14:29:32.35
えすパー自慢?

712:デフォルトの名無しさん
11/08/07 01:47:18.64
>>686
これどうよ?
URLリンク(journal.mycom.co.jp)

713:デフォルトの名無しさん
11/08/11 08:54:36.23
CopyHereって、失敗しても何も言わないの?
zipファイルの中にコピーしようとしてるんだけど、
コピーできてないのになんのエラーも出さずに終わる

ちゃんと圧縮待ちはしてるのに

714:713
11/08/11 10:05:47.92
追記
圧縮待ちは、下の2通りをためしました
・Items().Countが増えるまで待つ
 →いくら待っても増えなかった
・1秒待ってからOpenTextFile(zipfile,8,FALSE)でエラーなく開けるまで待つ
 →すぐに開けてしまった

715:デフォルトの名無しさん
11/08/11 21:22:37.44
まっそういうもんだな

716:705
11/08/13 18:07:34.54
えーと、705です。

社のPCにあるので、コード全文はのせられないん(持ち出せない)だけど、ファイルを検索する部分は
URLリンク(md1000.cocolog-nifty.com)
のコードを流用しています。
ファイルが見つかったら、のところで、

For Each temp2 In f.Files
Ext = LCase(FS.GetExtensionName(FoundFile))

Next


アクセス権にも問題はありません。



717:705
11/08/13 18:15:11.57
途中で書き込んでしもた

For Each temp2 In f.Files
Ext = LCase(FS.GetExtensionName(FoundFile))
if Ext="txt" then
TextCheck(temp2)
enf if
Next

みたいな感じで、このTextCheckというのが、テキストの全文検索ルーチンです。

引数のテキストファイルを一時ファイルにコピーして内容を検査する、という処理ですが、アクセス権にも問題が無く、実際に存在しているのに「書き込めません」とかってエラーになる。
でも、実際には一時ファイルはその都度作成しています。
いくつか検証したら、xpの場合、必ず同じフォルダでエラーを起こす。また、7の場合だと、"Application Data\Application Data...."の無限ジャンクションで処理を勝手に辞めてしまって終了してしまいます。
とにかく、ドライブ中の、アクセス権があるテキストファイルをまんべんなく検索して処理する、というのがうまくいっていないみたいです。

このTextCheckルーチン自体を単体のスクリプトとして動作させた場合には問題がないので、原因とは考えられません。

718:デフォルトの名無しさん
11/08/13 18:32:10.65
>>717
「GetExtensionNameで拡張子をとってみてtxtだったら
 TextCheck() というサブルーチンに投げてる」
ってだけ?
エラー内容の方が大事なんだが

>現実に存在していて、アクセス中でも隠しファイルでもない
>普通のファイルが「見つからない」といって53のエラーを
>はき出す事が頻繁に発生する。
どこでエラーが出てるか確認してみたら?
GetExtensionNameの時にエラーが出てるんか?
取ろうとしてるフォルダは普通の場所なんだよね。
Application Data とか普通じゃない雰囲気がぷんぷんするんだが。

719:デフォルトの名無しさん
11/08/14 21:06:52.69
FoundFileに何を設定してんのかな?

720:705
11/08/15 11:14:29.92
あ、失礼。Foundfileはtemp2。


721:デフォルトの名無しさん
11/08/15 16:11:15.08
temp2のデフォルトプロパティはなんだっけ?

722:デフォルトの名無しさん
11/08/15 17:34:31.19
つーか、書き込めないって事は、テンポラリーフォルダーへのコピーに失敗してるんじゃないの?

TextCheckのルーチン内に原因があったりしてな


723:デフォルトの名無しさん
11/08/15 21:41:07.64
圧縮ファイルをテンポラリに解凍して、解凍ファイルを読みに行く処理を書いた時
「ファイルが見つからない」ってなるユーザーがいて、その時はウエイトを掛けて
回避した。

724:デフォルトの名無しさん
11/08/16 15:40:06.08
>>716
>URLリンク(md1000.cocolog-nifty.com)
>のコードを流用しています。

みたけどやめとけ ましなサイトがあるだろ 

725:デフォルトの名無しさん
11/08/16 16:03:46.63
>>717
いたるところにログを書き出すルーチン組み込んでみれ。

726:デフォルトの名無しさん
11/08/16 19:22:32.45
ファイル列挙中のフォルダの配下のファイルを操作したせいで、
列挙処理がおかしくなってるとか


727:デフォルトの名無しさん
11/08/17 09:07:29.77
一つ疑問なんだが、一時コピーする必要はあるのか?
本体そのものにアクセスするんじゃまずいわけがあるの?

もしかして他のアプリが開いてる可能性のあるログファイルの類なんじゃ…
ロックされててアクセスできないとか。

728:705
11/08/18 21:25:22.77
皆さん、ありがとうございます。取り急ぎ、レスへの回答です。

>>727
えーと、一時コピーする理由は、本体を必要とする他のアプリに影響を与えないようにスナップショットを取るためです。
ただし、この処理を行うときは、他の常駐アプリやサービスはウィルス検査等も含め、停止させています。

>>726
それはないです。過去に作成したきりで、全くアクセスしていないファイルでも同じように発生します。

>>725
ログじゃないですが、stopでデバッガが起動する、という事らしいのですが私の環境ではデバッガのデの字も起動しません。
もちろん、デバッガ本体はインスコしてますが、7には非対応とか?

>>723
ウェイトと、あと無限ループでファイルのコピーが終わったら次の処理、というのは試してみましたが、結果は同じでした。

729:デフォルトの名無しさん
11/08/19 09:34:14.95
>>728
起動しないデバッガで、何をするつもりなの?
甘えてないで、ログ取れば?


730:デフォルトの名無しさん
11/08/19 10:27:26.30
>>705
そもそもどんなエラーメッセージが出力されているかもわからず回答できるわけが無い。
デバッガを起動できないならログ出力の関数を自作してデバッグすればいいだけのこと。
ログ出力の関数のコードすら書けないということなら論外。

もしかしてalertさえも使ったこと無いのか?

731:デフォルトの名無しさん
11/08/19 21:53:28.77
見てて、あると思うか?

732:デフォルトの名無しさん
11/08/20 06:47:48.55
>>731
無いと思うw

733:705
11/08/20 11:29:25.11
>>729
処理の至る所にログ吐き出し処理を入れてみました。やはり、ちゃんと存在していて、アクセスされていないディレクトリをを削除しようとしているときに「書き込みできません」になったりしてます。
でも、そのディレクトリを削除するためだけのスクリプトを別に作って削除したらちゃんと削除できるんですよね。
つまり、[削除前処理]→[フォルダ削除]ってやろうとしているときに、じつは[削除前処理]が終わっていないって事なんでしょうか。

>>730
alertは使ったことないですが、msgboxでErr.Descriptionを表示させてます。

734:デフォルトの名無しさん
11/08/20 16:19:24.86
いつからディレクトリ削除の話になったんだ?
それなら十中八九まるまるに決まってるじゃん
でも問題を後出しにするような奴には教えん

735:デフォルトの名無しさん
11/08/20 17:34:34.61
>>705
自分で解決しようっていう意思が全く無いなw
ここで嘘でもいいからそうだって言われれば安心するならあえて言おう。

甘ったれるなw

736:デフォルトの名無しさん
11/08/20 19:30:19.14
サイトの自己宣伝だろw
他人が参考にするようなもんじゃないもの

737:デフォルトの名無しさん
11/08/20 19:31:23.31
そうだな レベルが合ってる 偶然にしては出来過ぎだな

738:デフォルトの名無しさん
11/08/20 23:06:12.16
>>733
>>710が、すげーヒントをくれてるのに、何で無視してるん?
まじ、自分でやる気がないのな

739:デフォルトの名無しさん
11/08/21 00:49:16.37
そういえば、処理完了前に次の処理をしようとしたせいで上手くいかないって状態の時に
原因解明のためにMsgBox出したら、それによって処理かぶりが無くなってしまい
「観測すると現象が起きなくなる」
という、まるで量子力学かのような状態になって アルェー って成ったことが
みんな一度はあるんじゃないか?

直ぐ気づくというか、こうなった時点で答えが分かるようなもんだけど。

740:デフォルトの名無しさん
11/08/21 04:20:17.43
HDDの"ディスクの書き込みキャッシュを有効にする"って設定は関係あったりするの?

741:デフォルトの名無しさん
11/08/21 05:21:42.24
関係ないと思うが。

742:デフォルトの名無しさん
11/08/21 05:27:57.08
聞 く 前 に 何 で 試 さ な い の か ?

743:デフォルトの名無しさん
11/08/23 13:50:48.70
め ん ど う だ か ら

744:デフォルトの名無しさん
11/08/25 12:58:23.99
つまりそれは、出来ないんじゃなくて
やらないだけだな

もういいだろ

745:デフォルトの名無しさん
11/08/26 10:52:22.28
t

746:デフォルトの名無しさん
11/09/05 17:53:14.02
WindowsXPを使用しています。

WSHから外部アプリケーション(例えばメモ帳)を起動するときに
起動位置を座標指定して起動することはできないのでしょうか?
できるようであれば方法を教えて下さい。

747:デフォルトの名無しさん
11/09/05 18:31:55.20
>>746
Win32使えばできる
WSHじゃないけど、ここが参考になるかも
URLリンク(dobon.net)

748:デフォルトの名無しさん
11/09/05 20:16:04.41
Win32って、Win32APIのことかな?
わざわざWin32APIなんて使わなくても、WMIで出来るよ
そもそもWin32APIはWSHから直接使えないしw

749:デフォルトの名無しさん
11/09/05 20:53:02.38
うそだろ

750:デフォルトの名無しさん
11/09/05 20:54:12.05
WSHからPowerShellをキックすりゃえーよ

751:746
11/09/05 21:32:39.78
レスありがとうございます。

>>747
WSHからWin32APIを使用する方法がわからず、参考URLを元に
VB.NETで作っているところです。

>>748,750
PowerShellからもできるんですね。WSHというこだわりはないので
(ショートカットをダブルクリックしたら指定プログラムを指定座標で起動したい)
PowerShellでの方法も調べてみます。
WMIの存在もはじめて知りました。こちらも調べてみます。

752:デフォルトの名無しさん
11/09/05 21:37:04.60
>>750
それ「直接」じゃないでしょ。

753:デフォルトの名無しさん
11/09/05 21:49:57.56
>>750
WSHやめてRubyやPythonにした方がいいね


754:デフォルトの名無しさん
11/09/05 22:08:49.01
>>749
何が嘘だと?
WMIで出来るのは事実だし、WSHからWin32APIが直接呼べないのも間違いじゃないだろ。

755:デフォルトの名無しさん
11/09/06 12:40:38.37
>752
WSHで「直接」なんて意味ないでしょ。なんだって間接でしょ?

756:デフォルトの名無しさん
11/09/07 00:16:33.27
WSH から PowerShell は、「直接」呼べるけど、PowerShell スクリプトは、PowerShell を
通して「間接」的に実行するってことでしょ。

WSH は、どっかで Win32API の CreateProcess( ) { かどうかはわからんが、似たような
API } を使ってるから間接だという主張なの?

757:デフォルトの名無しさん
11/09/07 02:44:28.20
間接的に、呼び出した何かでどうこうするって話なら
なんぼでもやりようあるからな。

758:デフォルトの名無しさん
11/09/07 12:52:38.10
WindowsXpにて手動でデスクトップのアイコンを全て表示/非表示に切り替える事ができますが、
これでWSHで実装する事は可能でしょうか?

手動だとデスクトップで右クリック→i→dでできる操作をWSHで実装し、ショートカットアイコンにショートカットキーを
設けてキー操作で簡単に行いたいのです。
最悪SendKeysで、と思ったのですが、デスクトップ上で右クリックする際デスクトップアイコンにフォーカスが当たっていると
失敗してしまいます。因みに右クリックはSendKeys でShift+F10を実行している。

759:デフォルトの名無しさん
11/09/07 14:34:39.36
選択" "
解除"^ "

760:デフォルトの名無しさん
11/09/07 14:58:23.96
f5

761:758
11/09/07 18:41:42.93
>>759
意味不明なり

>>760
更新じゃないです
アイコン非表示は手動でやれば直ぐ消えます
F5とか不要です

762:デフォルトの名無しさん
11/09/07 20:22:40.18
デスクトップアイコンにフォーカスが当たっていると
失敗してしまいます。

759 :デフォルトの名無しさん:2011/09/07(水) 14:34:39.36
選択" "
解除"^ "


760 :デフォルトの名無しさん:2011/09/07(水) 14:58:23.96
f5


763:デフォルトの名無しさん
11/09/07 21:03:39.56
ShellFolderView.SelectItem

764:デフォルトの名無しさん
11/09/07 21:37:41.23
hideicons

765:デフォルトの名無しさん
11/09/08 08:27:21.55
>>762-763
個人的にはSendKeysは使いたくなかったので理解できませんでした。すいません

>>764
レジストリをすっかり見落としていました
有り難う御座います
無事解決しそうです


766:758
11/09/08 10:14:52.72
ダメだできない。分からない
>>759ってどう言う事なんでしょうか?
F5でアイコンフォーカスを外せる事は分かったのですが

767:758
11/09/08 10:17:29.55
すいません、理解できました
sendkeysで実装するしかないんですかね、やっぱ

768:デフォルトの名無しさん
11/09/08 14:28:25.53
現状
var ws = WScript.CreateObject('WScript.Shell');
//デスクトップをを表示(こいつが上手く機能してくれない)
ws.run('C:\\hoge\\desktop.lnk');
WScript.Sleep(1000);
ws.SendKeys('{F5}');
WScrip.Sleep(1000);
ws.SendKeys('+{F10}');
WScript.Sleep(200);
ws.SendKeys('i');
WScript.Sleep(200);
ws.SendKeys('d');
しかもこれだとデスクトップ表示中には使えない
デスクトップ表示切り替えいい方法ないですかね?


769:デフォルトの名無しさん
11/09/08 15:19:54.35
なにが死体ん?

770:758
11/09/08 16:16:01.50
>>768>>758です
すいません
やりたい事は>>758
結局sendkeysで実装中
で、問題が1点
デスクトップ上で>>768を実行すると上手くいきますが
別のウィンドウが立ち上がっているとアクティブウィンドウ上で>>758を走らせるだけなので失敗します
アクティブウィンドウがあるか?今現在デスクトップを表示しているのか?
を判定する術はありますでしょうか?

771:デフォルトの名無しさん
11/09/08 16:22:30.35
If ws.AppActivate("program manager") Then

772:デフォルトの名無しさん
11/09/08 21:07:23.51
レジストリ変えても反映されんな なんか方法ない?

773:デフォルトの名無しさん
11/09/08 21:22:38.81
面倒だから、vc++にしちゃいなよ。
#include <Windows.h>

int main(int argc, char* argv[])
{
HWND hWnd;
BOOL status;
hWnd = FindWindow("ProgMan",NULL);
status = ShowWindow(hWnd,SW_HIDE);
if(!status){
ShowWindow(hWnd,SW_SHOW);
}

return 0;
}

774:デフォルトの名無しさん
11/09/09 01:09:48.28
thx!

775:デフォルトの名無しさん
11/09/09 14:57:24.17
「デスクトップアイコンの表示」を切り替える。
URLリンク(scripting.cocolog-nifty.com)

776:758
11/09/10 00:03:58.12
>>775
有難う御座いました。目的が達成できました。
ソース内容がさっぱり理解できないのでググッて勉強致します。
日付的に考えて、ここを見ている方のブログか、>>775様本人のブログだと思いますが、
フィード登録させて頂きました。シンプルで見易いし、
私の欲しい情報と色々マッチする良いブログだと思いました。

ご存知かとは思いますが、
ブログにはデスクトップにアイコン置くと戻せないと、ありますが、
デスクトップにショートカットキーを設定したショートカットアイコンを設置しておくと
気軽にアイコン表示/非表示切替ができますよ。

因みにWindows7でも問題なく動きました。


777:デフォルトの名無しさん
11/09/12 12:51:06.81
>>775
オブジェクトねぇよってエラーになる
Administratorじゃなきゃダメ?

778:デフォルトの名無しさん
11/09/13 15:12:01.15
D&Dされたファイルを、特定ディレクトリ下にあるファイル名と前方一致するディレクトリに移動させて
ディレクトリ名の末尾に付いてる数字を+1するスクリプトを書きたいんだがどうすればいいのか、何から学べばいいのか分からない。

779:デフォルトの名無しさん
11/09/13 15:21:08.72
VBScript
FileSystemObject

780:デフォルトの名無しさん
11/09/13 22:42:03.47
JScriptにしとけ

781:デフォルトの名無しさん
11/09/14 20:47:13.58
はーい

782:デフォルトの名無しさん
11/09/15 23:35:50.18
教えてください。
今、写真ファイルに適当な名前がついていて、
これのファイル名を、
写真ファイル右クリック→プロパティ→詳細
で進んだ先の「タイトル」と同じものに変更したいと思っています。
そこで、GetFileで写真ファイルのオブジェクトを作った後に
どのようなプロパティで「タイトル」を取得すればよいですか?
よろしくお願いします。

win7 homeです

783:デフォルトの名無しさん
11/09/16 01:10:33.97
FolderItem.ExtendedProperty("System.Title")


784:デフォルトの名無しさん
11/09/16 20:28:47.97
ありがとうございます。
試してみます。

785:デフォルトの名無しさん
11/09/23 18:45:42.41
糞仕様、来んな

786:デフォルトの名無しさん
11/09/28 23:48:14.94
>>785
何が糞仕様なん?

787:デフォルトの名無しさん
11/09/29 04:26:24.31
来なかったから気にせんでもええ

788:デフォルトの名無しさん
11/09/30 02:07:35.36
来たよ

789:デフォルトの名無しさん
11/10/04 21:40:59.02
こっちくんな

790:デフォルトの名無しさん
11/10/05 02:48:43.15


791:デフォルトの名無しさん
11/10/10 14:52:27.46
テキスト変換で行き詰まってるんだけど、
たとえば、あ→こ、こ→て、て→あ、って処理をやろうとすると、
全部巡り巡って「あ」になってしまう現象を防いで置換するにはどうすればいい?
処理する量が膨大故に、あ→つ といった一時待避方法は使わずにできれば…

792:デフォルトの名無しさん
11/10/10 16:23:12.60
replaceで分けてやるからだろ
regexpで一度にやればええだろ

793:デフォルトの名無しさん
11/10/10 17:14:00.83
ううむ…すみません、Replaceさえ使わずに置換してた上、正規表現が判らない…
ネット見ながら書き直してみたけど、思った通りに動かない…

794:デフォルトの名無しさん
11/10/10 18:20:30.32
text.replace('a|b|c|d','g',function(a)
{
var ans='';
switch(a)
{
case 'a' :
ans='A';break;
case 'b' :
ans='B';break;
・・・
default:
ans='baka';
}
return ans;
});

795:794
11/10/10 19:20:12.25
コッチの方が簡単か。
var map=[];
map['a']='A';
map['b']='B';
text.replace('a|b','g',function(a){return map[a];});

796:デフォルトの名無しさん
11/10/11 09:30:25.79
tr/// みたいなのが JS にもあればなあ

797:デフォルトの名無しさん
11/10/12 03:58:23.22
あるよ

798:デフォルトの名無しさん
11/10/13 18:21:32.26
>>794-795
動かんが?

799:デフォルトの名無しさん
11/10/13 20:27:43.50
こうか
text.replace(/a|b/g, function(a){return map[a];})

800:デフォルトの名無しさん
11/10/13 20:33:49.25
>>798
>>795じゃないけど正規表現の書き方が間違ってるので勝手に修正
テストはしていない

//textに処理対象文字列
var map=[];
//['置換したい文字']='置換後文字';
map['a']='A';
map['b']='B';
//hogeに置換後文字列値
hoge=text.replace(/a|b/ig,function(a){return map[a];});


801:795
11/10/13 21:00:47.60
>>798-800
ごめんね。
DMonkeyで使えるから、Jscriptでも使えると思っていた。


802:デフォルトの名無しさん
11/10/13 21:41:35.95
var map={a:'A',b:'B'};


803:デフォルトの名無しさん
11/10/13 22:09:27.16
>>801
ドンマイ
正規表現を複雑にせずに置換処理する連想配列を使うこの方法は個人的に好きです
改修も簡単だしね

804:デフォルトの名無しさん
11/10/13 22:26:26.37
vbscriptがほとんどでjscriptはあんまり使ってなかったけど
無名関数が使えるのか…知らなかったorz

805:デフォルトの名無しさん
11/10/13 23:03:37.97
ドキュメント読め
URLリンク(msdn.microsoft.com)
function(x){return x*x;} // 関数リテラルです。


806:デフォルトの名無しさん
11/10/18 17:31:58.84
すいません、質問なんですが、例えばURLが
URLリンク(www.atmarkit.co.jp)?????/cformwsh01_01.html
までしか分かってない場合でも、WSHから飛ぶことって出来ますか?

ちなみに?????はcformwsh01だったりするのですが
ここに規則性がなく分からない場合でも飛べるようになりたいと思っています。
可能であれば何かヒントを頂けると嬉しいです。

これからWSHを学んでいきたい初心者ですが、どうかよろしくお願いします。

807:デフォルトの名無しさん
11/10/18 17:47:15.88
WSH以外で飛べるならWSHでも飛べるんじゃないか

808:デフォルトの名無しさん
11/10/18 17:56:36.85
WSHの上に立って膝をゆっくり曲げて瞬間的に伸ばせ

809:デフォルトの名無しさん
11/10/18 20:57:07.77
?はだめだけどrun urlで飛ばないか?

810:デフォルトの名無しさん
11/10/18 21:29:07.79
>>806
スレ違い

もし一部不明でも飛ばしてくれるとしたら
飛ばすのはWSHではなくサーバーがやってるので
WSHスレで聞くべき内容じゃない

811:デフォルトの名無しさん
11/10/18 22:10:43.82
WSHから飛ぶことって出来ますか?
という質問はスレ違いじゃなかろう?

812:デフォルトの名無しさん
11/10/18 23:54:40.20
>>806
var hoge='';
//unique process
window.open('URLリンク(www.atmarkit.co.jp)'+hoge+'/cformwsh01_01.html','_self');

ユニーク処理はrandomでやるの?

813:デフォルトの名無しさん
11/10/19 00:38:53.73
方法としては、URL候補をまず調べ、その結果からワード検索してURLをリストアップし、順次実行。

URL候補は、分かっている部分からweb検索するといい。
(例 googleに対して、2つの検索ワード指定 www.atmarkit.co.jp/fwin2k/tutor cformwsh01_01するとか)

814:デフォルトの名無しさん
11/10/19 00:58:23.06
ユニーク処理って?


815:デフォルトの名無しさん
11/10/19 03:58:10.09
ここはブルートフォースで行きましょうか

816:デフォルトの名無しさん
11/10/19 08:21:47.84
>>815でやっと気付いた
結局、それ系がやりたいっぽいね
納得したわw
BFAよりレインボーテーブル使った処理のが早くない?
合わせ技が1番いいんだろうけどアルゴリズム云々でなく運だからなー

でも>>806読んだ感じidテーブルは入手済みで後は蓮だけっぽいね

817:806
11/10/19 17:57:12.32
皆様ありがとうございました。紹介頂いた方法をいくつか試してみましたが
私にはまだスクリプトがしっかり書けていないためもあり
成功することが出来ませんでした。

しかし、どれも大変為になるレスばかりでしたので
何度も見直して調べてみようと思います。
まずはユニーク処理を頑張ってみます。どうもありがとうございました。







例えば?????を.*なんかの正規表現に出来るなら
もしくは、ホームページの仕組みが/というのがWindowsでいう\と同じ感じだったら
それをbatに当てはめて考えられないかなぁと思っていたんですが違うみたいですね。
例えばcformwsh01_01.htmlのURLが完全に分かっている場合にcformwsh01_02.htmlを探すとき
カレントディレクトリを1階層上げて、そこからcformwsh01_02.htmlを全てのフォルダで探して

しかし、実際はテーブルでしたりハッシュでしたり、そーいった概念とは違うのですね。
ほんと無知ですいません。並行してホームページの仕組みをjavascriptでjscriptと一緒に学んでいこうと思います。
どうもありがとうございました。


818:806
11/10/19 17:59:41.01
すいません、改行で空いた下の文章なんですが
これは前に書き途中で削除し忘れた駄文になりますので、気にしないで下さい。
失礼しまいた。

819:デフォルトの名無しさん
11/10/19 19:05:29.19
>>817
batで正規表現は使えない
やるならjscriptかvbscript
てか、そもそも正規表現いらない
if文でやればいい
AだったらBかCか…をランダムに表示はできる
階層も関係なくできる


820:デフォルトの名無しさん
11/10/19 19:10:15.39
>>819
うそこくな findstr知らんあほか?

821:デフォルトの名無しさん
11/10/19 19:51:50.69
>>817
>例えばcformwsh01_01.htmlのURLが完全に分かっている場合にcformwsh01_02.htmlを探すとき
その方法で良いなら、cformwsh01_01.htmlのページにあるcformwsh01_02.htmlのリンクから飛ぶじゃ駄目なの?
まあ、俺はやり方分からないんであれだけど。

822:806
11/10/19 20:40:11.86
>>819
>AだったらBかCか…をランダムに表示はできる
そのような方法もあるのですね。ありがとうございます、参考にしてみます。

>>821
それでも全然大丈夫です。その方法に気付きませんでした、ありがとうございます。

823:806
11/10/19 20:42:53.53
WSHで入力したURLから、そのURL自体のスクリプト(ソースコードと呼べばよいのでしょうか?)を
展開するにはどうればよいのでしょうか?キーワードだけでも教えて頂けないでしょうか?

もしそれが可能であれば、例えば先の例でリンクはここにあったので
<body>
 <div id="main">
  <div id="centercol">
   <taable width=大きさ>
    <tbody>
     <tr>
      <td>
       <div align="right">
        <font size="2">
         Page1
         <a href="cformwsh01_02.html">Page2</a>
正規表現からここを検索して取得できるように頑張ります。
(ここがhttp;//から始まるURLになっている場合を想定しています)
(ここであればURLは完全に表示されれている場合を想定しています)

824:デフォルトの名無しさん
11/10/19 21:11:32.03
>>820
findstr使ったこと無いだろ…

あんなの正規表現もどきのワイルドカードだよ

825:デフォルトの名無しさん
11/10/19 21:44:13.96
ワイルドカードと正規表現の別もわからないのか?

826:デフォルトの名無しさん
11/10/19 23:40:16.92
>>820
正規表現知らない小僧は黙ってた方がいいぞw


827:デフォルトの名無しさん
11/10/19 23:40:31.39
お前正規表現が何かもわかってないでしょ

828:デフォルトの名無しさん
11/10/19 23:53:52.87
findstrのマッチングは正規表現を軽く齧った程度の代物で
例えばA又はBといった表現は出来ないし
行のどこにマッチしたかというようなことはわからんな。

829:デフォルトの名無しさん
11/10/19 23:57:24.32
>>823
もう突っ込みどころ多すぎるから少しは自分で調べて勉強しろ

>展開するにはどうればよいのでしょうか?
file:///c:\hoge.js
http:でやりたいならhttp:をfile:/で置換しろw

>もしそれが可能であれば、例えば先の例でリンクはここにあったので
何の話だよwもうエスパーでいくぞw
<a href="#" onclick="window.open('cformwsh01_02.html','_self')">Page2</a>

お前に正規表現はまだ早過ぎる
Jscriptの基本を勉強しろ

830:デフォルトの名無しさん
11/10/20 00:01:42.68
>>827
否定論理和の否定の戻り読みはどうやんの?findstrでできんだろ?w
さっさとコード貼れよw


831:デフォルトの名無しさん
11/10/20 00:10:25.03
秒単位で被ったけど>>827>>825へのレスだよ…

832:デフォルトの名無しさん
11/10/20 00:29:45.70
>>831
そんな気はちょっとしてた
でも、レス番号なるべくいれようぜ

833:デフォルトの名無しさん
11/10/20 00:33:27.70
>>831
あれ?>>825は正規表現とfindstrは別モノ
ワイルドカードは正規表現じゃねーよ派だろ
やっぱりお前は間違ってる

834:デフォルトの名無しさん
11/10/20 01:10:27.04
ワイルドカードは正規表現のサブセットじゃねーよ おバカさん
どんな正規表現でもワイルドカードにはならんわ

835:デフォルトの名無しさん
11/10/20 04:57:20.27
正規表現は、文字列のパターンを表現する表記法なので
ワイルドカードも正規表現
ところで、findstrはワイルドカードじゃないんだね?
URLリンク(www.k-tanaka.net)
>>828
A又はBは出来るみたいだよ
findstr "test char" sample.txt //sample.txtの中から"test"もしくは"char"が含まれる行を表示する

836:デフォルトの名無しさん
11/10/20 08:04:17.56
>>835
排他的論理和の否定戻り読みも書いてみて下さいね

837:デフォルトの名無しさん
11/10/20 08:24:41.02
var hoge='hoge';

string type変数に値が入った瞬間、それは正規表現ですってバカかよw
そんな事誰も言ってねーだろw
>>820はstring型変数に値入れることを正規表現でやるって言うの?

838:デフォルトの名無しさん
11/10/20 11:07:05.56
URLリンク(technet.microsoft.com)(WS.10).aspx
ヘルプには正規表現で検索するって書いてあるな
使えるパターン少ないけどww

839:デフォルトの名無しさん
11/10/20 12:59:22.00
そもそもcmdってWSHなん?

840:デフォルトの名無しさん
11/10/20 17:37:21.63
正規表現オタクはすれ違いだしうざいよ

841:デフォルトの名無しさん
11/10/20 18:00:54.25
>batで正規表現は使えない
>あんなの正規表現もどきのワイルドカードだよ
九州電力佐賀県知事執行役員みたいだな

842:デフォルトの名無しさん
11/10/20 20:55:47.22
うん

843:デフォルトの名無しさん
11/10/20 22:34:28.06
否定戻り読みが無いと正規表現とは言わないっていう宗教にはまっているのだろう

844:デフォルトの名無しさん
11/10/21 00:07:44.46
宗教じゃないよ 粘着質由来の強迫神経症だろ

845:デフォルトの名無しさん
11/10/21 08:19:56.60
一般的にワイルドカード程度で正規表現なんて言わない
wordの検索もexcelの式もExplorerの検索も正規表現できるなんて言ったら笑われるぞ
そしてcmdはスレ違い

846:デフォルトの名無しさん
11/10/21 08:30:42.81
例えサブセットだろうと正規表現を使って検索するとMSは説明に明記してるんだから
単なるワイルドカードとは一線を画しておかなきゃね。

847:デフォルトの名無しさん
11/10/21 11:57:39.84
>>844
ニダ

848:デフォルトの名無しさん
11/10/21 16:13:03.28
>>845
Explorerの検索が正規表現だと誰か言ってるのか?
幻聴まで聞こえるのはやばいよ 悪いことは言わん 病院行けよ

849:デフォルトの名無しさん
11/10/22 02:27:17.58
うん

850:デフォルトの名無しさん
11/10/22 17:01:32.86
>>848
MSが間接的に言ってる
*でワイルドカード検索できるからね
それは正規表現でしょ?w

851:デフォルトの名無しさん
11/10/22 17:22:23.69
>>850
神が早く病院に行けって言ってないか?

852:デフォルトの名無しさん
11/10/22 17:37:41.00
もうどうしようもないレベル

853:デフォルトの名無しさん
11/10/22 17:59:07.56
>>799
VBSでは?

854:デフォルトの名無しさん
11/10/22 18:17:15.96
VBSなんぞ窓から投げ捨てろ

855:デフォルトの名無しさん
11/10/22 18:18:49.01
>>853
そういうことは知らない ワイルドカードと正規表現のことだけ聞いて

856:デフォルトの名無しさん
11/10/22 18:22:39.71
>>854
VBSを持って病院に行ったほうがいいよ

857:デフォルトの名無しさん
11/10/22 20:46:58.88
>>850
>MSが間接的に言ってる

どこで言ってるかURL教えて

858:デフォルトの名無しさん
11/10/22 21:26:48.57
ダイレクトにアタマの中で聞こえるだろ?

859:デフォルトの名無しさん
11/10/23 15:40:37.61
患者の主張は分裂してないか?
ワイルドカードは正規表現
findstrの正規表現はワイルドカード

860:デフォルトの名無しさん
11/10/23 15:51:10.61
うにぁ
1 findstrの正規表現はワイルドカード
2 ワイルドカードは正規表現
3 findstrの正規表現は正規表現
という三段論法かも

861:デフォルトの名無しさん
11/10/23 16:30:59.08
つーかVBAがVB6基調である限り、VBSも残るだろうな

862:デフォルトの名無しさん
11/10/23 17:04:49.41
>>861
つーかそれがどうしたってーの

863:デフォルトの名無しさん
11/10/23 17:26:54.64
なんか勘違いしてんだろ

864:デフォルトの名無しさん
11/10/23 20:53:17.96
>>857
URLリンク(technet.microsoft.com)(WS.10).aspx

865:デフォルトの名無しさん
11/10/23 23:27:22.78
正規表現は元々UNIXコマンドが発祥でPerlで発展して、他はそれ準拠ってうたったりしてるようなもんだから、MSでどーのこーのいってもしょうがない。

866:デフォルトの名無しさん
11/10/24 00:16:56.92
>>864
.がワイルドカードだって所の事か?

867:デフォルトの名無しさん
11/10/24 08:10:30.16
>>866
はい
Explorer.exeの検索も*がワイルドカードなのでMSKK的には正規表現
WordやExcelも同様

因みに私はこれらを正規表現と認めたくない派です

868:デフォルトの名無しさん
11/10/24 10:46:52.48
>>867
>>864のリンクはfinfstrの説明であり、そこには正規表現の説明で
*は「繰り返し : 直前の文字またはクラスのゼロ個以上」
とある。
これがワイルドカード(としての*の説明)だと思う人はいないだろう。

また、ページエクスプローラの検索では良いリンク先が見つからなかったが、
URLリンク(windows.microsoft.com)
ここでは、
  注
  任意の 1 文字を表すワイルドカードとして、疑問符 (?) を使用できます。
  また、任意の数の文字を表すワイルドカードとして、アスタリスク (*) を使用できます。
とあり、正規表現だとは言ってないし、
*の意味も上記のfindstrとは異なる。

869:デフォルトの名無しさん
11/10/24 12:22:37.41
>>867
おまいが、findstrで*をワイルドカードだと思って使ったら、
自分の思った動作をしないだろうし、その時はバグだとでも騒ぐ気なのかね?

また、word,excelの検索は独自でこれも正規表現とはMSは言ってないだろ。
まあ、検索オプションに[ワイルドカードを使用する(U)]というものは存在するがな。

870:デフォルトの名無しさん
11/10/24 12:25:47.22
>>868
なるほど
でもfindstrが正規表現ってのも何だかなー
Wordのトリッキーな検索も似非正規表現っぽいし

まぁWSHじゃないからスレ違いなんだけどねw

871:デフォルトの名無しさん
11/10/24 12:47:11.58
>>867
ワイルドカードを使って検索するにチェック入れといて何言ってんの君?

872:デフォルトの名無しさん
11/10/24 13:04:29.14
ワイルドカードを使って検索するー>ワイルドカードを使用する
だね

873:デフォルトの名無しさん
11/10/24 16:58:28.87
なあんだ直らない病気だったのか

874:デフォルトの名無しさん
11/10/24 17:39:40.90
>>848
幻聴じゃなくて幻視だろ
おまいこそ病院逝け

875:デフォルトの名無しさん
11/10/24 18:00:21.79
なに幻視が聞こえるのか?そりゃ大変だな

876:デフォルトの名無しさん
11/10/24 18:01:13.07
何言ってんの君?

まあ、「言う」じゃなくて「書く」だろとかのたまうんだろうな。

877:デフォルトの名無しさん
11/10/24 18:08:48.31
口が滑ったんじゃなく手が滑ったんだとか

878:デフォルトの名無しさん
11/10/24 18:09:11.69
正気表現でw

879:デフォルトの名無しさん
11/10/24 19:31:25.64
やめて!私のために争わないで!

880:デフォルトの名無しさん
11/10/24 21:21:24.28
正気狂言だろw

881:デフォルトの名無しさん
11/10/24 23:36:57.71
findstrが正規表現じゃないなら
grepとかも正規表現じゃないって事にならないか?
どっちも.の意味同じだよね

882:デフォルトの名無しさん
11/10/25 00:07:56.96
g/RE/p
edの作者が何の気なしに作ったg/正規表現/p
がちょー便利すぎるって外だしコマンドgrepになったのが正規表現の産声なんだよ。unixのmanに誇らしげに当時のストーリーが書いてある。
findstrはMS社員の劣化コピー。



883:デフォルトの名無しさん
11/10/25 00:16:49.56
findstrがあまりに機能が低くて正規表現と言いたくないというのは分かる。
が、それを根拠にエクスプローラの検索がワイルドカード指定できるからこれも正規表現だ
という主張は3段論法でも無ければ風が吹いたら桶屋がもうかるの論理でも無く、
あまりにも突飛すぎて誰もついていけない。

884:デフォルトの名無しさん
11/10/25 00:24:18.05
>>883
そう書くと、言葉通りに受け取って、誰もそんなこと言ってないぞ、とか言われるぞ。
まあ俺はバカじゃないからそんなことは言わないが。

885:デフォルトの名無しさん
11/10/25 00:35:07.53
否定戻り読みが無いと正規表現とは言わないなら
findstrだけじゃなくてVBSやJSのRegExpも正規表現じゃないって事になっちゃうんだが

886:デフォルトの名無しさん
11/10/25 08:02:36.81
>>883
Explorerのワイルドカードが正規表現でない根拠は?
正規表現とはある文字xで多種類文字列が取得できる表現の事だよ?
要は1:nの関係が成り立つ変数として確立できれば正規表現

887:デフォルトの名無しさん
11/10/25 10:50:59.85
>>886
じゃあfindstrも正規表現でいいよね

888:デフォルトの名無しさん
11/10/25 17:20:11.35
>>853

889:デフォルトの名無しさん
11/10/25 18:44:44.14
>>887
そうだね

890:デフォルトの名無しさん
11/10/25 19:47:43.77
どっかにAddToFavoriteみたいなAddToHistoryってなかったっけ?

891:デフォルトの名無しさん
11/10/26 00:53:14.24
>>890
ie.navigate

892:デフォルトの名無しさん
11/10/26 07:35:26.31
だれもWikipediaとかで調べてないのか?
*と(|)に相当する機能がない奴は正規表現じゃないだろ

893:デフォルトの名無しさん
11/10/26 08:20:50.75
>>892
wikipediaなんて正式的じゃないし
正規表現の正確な決まりなんてない
言ったモン勝ち状態
正規表現はバズワード

894:デフォルトの名無しさん
11/10/26 08:54:07.01
Microsoftは、findstrの検索は正規表現と言ってるが、explorerの検索を正規表現と言ってる記述は無い。
他人が正規表現をどう規定しよう(例えばPOSIX準拠とか、パターンを使ってればワイルドカードもOK)が
勝手ではあるが、少なくともMicrosoftはワイルドカードと正規表現は一緒にはしていないことは確か。

895:デフォルトの名無しさん
11/10/26 09:28:01.68
>>892
>*と(|)に相当する機能がない奴は正規表現じゃないだろ

Wikipediaにはそんなこと書いてないぞ
URLリンク(ja.wikipedia.org)

896:デフォルトの名無しさん
11/10/26 10:49:17.58
横からレスすると、

一般化した形式言語理論での正規表現なら載ってるね。
1) Σのメンバーは正規表現である。
2) emptyは正規表現である。
3) X, Yが正規表現のとき、連接(X・Y)と合併(X+Y)とKleeneスター(X*)は正規表現である。
4) 以上の手順で得られるものだけが正規表現である。

2つの2項演算子と1つの単項演算子だが、実際はXY, X|Y, X*だから、
*と|の2つと言っても間違いじゃないよね。
で、findstrはこれに該当するわけで立派に正規表現と言えるし、
explorerの検索は該当しないので正規表現とは言えない。

というのが、>>892の主張だろう。

897:デフォルトの名無しさん
11/10/26 10:57:04.28
補足
単項演算しKleeneスターは

1) V が文字列の集合であるとき、V* は、空文字列 ε を含み、文字列連結演算に
  閉じているような最小の集合と定義される。
  この集合は、別の書き方をすれば、V に含まれるゼロ個以上の文字列を連結して
  作ることができるような文字列の集合である。
2) V がシンボル・文字の集合であるとき、V* は、空文字列を含む V 上の
  あらゆる文字列の集合である。

一般化してモノイドMの2項演算子としても表せる。
1) (閉包)あらゆる a、b ∈ M に対し、a . b ∈ M
2) (結合法則)あらゆる a、b 、c ∈ M に対し、(a . b) . c = a . (b . c)
3) (単位元)ある ε ∈ M が存在して、あらゆる a ∈ M で a . ε = ε . a = a

898:デフォルトの名無しさん
11/10/26 15:52:17.79
すれ違いうざいんだけどよそ行ってくれない

899:デフォルトの名無しさん
11/10/26 15:54:57.06
HTAスレが過疎ってるから、やりたきゃ
スレリンク(tech板)
でやってくれ

900:デフォルトの名無しさん
11/10/27 06:36:46.80
ヒデー展開だな

スレ違いもそうだが、ここまで、完全に正しいことを言ってる奴が一人も居ないんだが、、、
HTAスレじゃなくて正規表現スレもあるんだから、どっちに行ってもいいが、ここで低レベルな
スレ違い話続けるのはやめてくれ

901:デフォルトの名無しさん
11/10/27 08:08:29.22
>>900
ことプログラム言語に関しての正規表現はバズワード

902:デフォルトの名無しさん
11/10/28 01:44:16.66
訳が悪いんじゃね
Normal Expressionみたい
正規表現厨はabnormalだね

903:デフォルトの名無しさん
11/11/02 22:55:00.09
sendKeysの逆ってできますか?
キー入力を常に監視して入力されたキーコードをgetしてテキストに出力したいです
ただ、ブラウザのwindow内でなくwindows上での全てのキー入力を取得したいです


904:デフォルトの名無しさん
11/11/02 23:25:45.11
何をタクラマカン砂漠

905:デフォルトの名無しさん
11/11/02 23:35:15.14
できますよ

906:デフォルトの名無しさん
11/11/03 02:37:35.11
>>905
wshじゃムリ


907:デフォルトの名無しさん
11/11/03 02:46:22.94
正規表現を使えばできるのでは?

908:デフォルトの名無しさん
11/11/03 19:25:16.39
ワイルドカードじゃむりぽ?

909:デフォルトの名無しさん
11/11/03 21:27:58.79
>>503
wshではないけど、AutoHotkeyというソフトをつかえばできそう。
調べてみては?

AutoHotkey スレッド part13
スレリンク(software板)l50

910:デフォルトの名無しさん
11/11/06 12:04:20.50
>>905
教えて下さい


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch