★WSHでCGI★JScriptVBScript
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/08/01 22:37ID:???・Windows Script Host (=WSH)をCGI利用する
・JScript、又はVBScriptをCGIスクリプトとする
・自PCをサーバー稼動させる事を前提とする
・原則、Windows以外はフリーで入手できるアプリ、ツールの利用
【対象環境】
・Windows95以上及び、WSH5.6以上のインストール済み
・Webサーバーソフトにはフリー配布のAN HTTPDを前提とする
※作者:中田 昭雄氏 配布元:ttp://www.st.rim.or.jp/~nakata/
なお、このスレでの内容を直接、中田氏サイトへ質問するのはやめて頂きたい。
【お約束】
・試行は自PCで自己責任で行う
・商用実利用は前提としていない、本スレは、プログラム技術的知識、お遊び、趣味の範囲であることを理解する
0067nobodyさん
2005/04/15(金) 01:42:25ID:iiba0wU4.vbsと.jsファイルを独自拡張子にしてCGI実行する場合、
例えば、Test.vbsファイルをTest.vbcgiという独自拡張子に変えて使いたい場合、
AN HTTPDには VBScriptエンジンで実行させたい拡張子をまとめて、
実行ファイルには
WScript //E:vbscript
のように指定して登録して欲しい。
※WScript.exenのパスが通っているだろうからこれでOK。
//E:実行させたい指定スクリプトエンジン名 のオプション指定を忘れないように。
0068nobodyさん
2005/04/15(金) 01:46:07ID:???誤り箇所
※WScript.exenのパスが
訂正後→
※WScript.exeへのパスが
下書きなんかないし、ダラダラ書きで、ageちゃってるし
だって眠いんだもんw
0069nobodyさん
2005/04/15(金) 17:02:04ID:???HTMLフォームからの受信データを処理するサンプル。sample02.htmで設置。
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=x-sjis">
<TITLE></TITLE>
</HEAD>
<BODY>
<FORM action="./sample02.wsf" method="post" name="form1" taerget="_blank">
テキスト1<BR>
<INPUT name="txt1"><BR>
テキスト2<BR>
<TEXTAREA name="txt2" wrap=off></TEXTAREA><BR>
<INPUT type="submit" value="Submit" name="submit1">
</FORM>
</BODY>
</HTML>
0070nobodyさん
2005/04/15(金) 17:06:31ID:???以下をその1のsample02.htmと同じ、sample02.wsfで設置、なおコードを見ても分かるように、>>61-63のsupport02.vbsファイルも設置。
<JOB>
<SCRIPT language=vbs src="support02.vbs" />
<SCRIPT language=vbs>
Option Explicit
Private ObjWshShell,ColWshEnv
Private d,d0,d1,d2
Set ObjWshShell=WScript.CreateObject("WScript.Shell")
Set ColWshEnv=ObjWshShell.Environment("Process")
Select Case ColWshEnv("REQUEST_METHOD") 'フォーム送信データを取得
Case "POST"
d=WScript.StdIn.ReadAll '実際にはサイズチェックを事前にすべき。
Case "GET"
d=ColWshEnv("QUERY_STRING")
End Select
With WScript.StdOut
.WriteLine "Content-type: text/html" & vbCRLF & vbCRLF & "<HTML><HEAD><TITLE>サンプル02</TITLE></HEAD><BODY noWrap>"
.WriteLine "生データ<BR>" & d & "<BR>取得データ<BR>"
d0=Split(d,"&",-1,1) 'POST生データを"name=data"単位で分離
For Each d1 in d0
d2=Split(d1,"=",2,1) ' "name=data"をnameとdataに要素数2の配列に分離格納
.WriteLine d2(0) & "=" & PF_Decode(d2(1)) & "<BR>"
Next
.WriteLine "完了</BODY>"
End With
</SCRIPT>
</JOB>
0071nobodyさん
2005/04/15(金) 17:07:23ID:???以下をその1のsample02.htmと同じ、sample02.wsfで設置、なおコードを見ても分かるように、>>61-63のsupport02.vbsファイルも設置。
<JOB>
<SCRIPT language=vbs src="support02.vbs" />
<SCRIPT language=vbs>
Option Explicit
Private ObjWshShell,ColWshEnv
Private d,d0,d1,d2
Set ObjWshShell=WScript.CreateObject("WScript.Shell")
Set ColWshEnv=ObjWshShell.Environment("Process")
Select Case ColWshEnv("REQUEST_METHOD") 'フォーム送信データを取得
Case "POST"
d=WScript.StdIn.ReadAll '実際にはサイズチェックを事前にすべき。
Case "GET"
d=ColWshEnv("QUERY_STRING")
End Select
With WScript.StdOut
.WriteLine "Content-type: text/html" & vbCRLF & vbCRLF & "<HTML><HEAD><TITLE>サンプル02</TITLE></HEAD><BODY noWrap>"
.WriteLine "生データ<BR>" & d & "<BR>取得データ<BR>"
d0=Split(d,"&",-1,1) 'POST生データを"name=data"単位で分離
For Each d1 in d0
d2=Split(d1,"=",2,1) ' "name=data"をnameとdataに要素数2の配列に分離格納
.WriteLine d2(0) & "=" & PF_Decode(d2(1)) & "<BR>"
Next
.WriteLine "完了</BODY>"
End With
</SCRIPT>
</JOB>
0072nobodyさん
2005/04/15(金) 17:21:38ID:???>>70-71 重複失礼。どちらも同じ内容なの。
>>69 訂正。
<FORM action="./sample02.wsf" method="post" name="form1" taerget="_blank">
の taerget="_blank" の taerget は誤り。
targetに直してw
0073nobodyさん
2005/04/15(金) 17:34:37ID:???このサンプル02は
sample02.htm >>69
sample02.wsf >>70 ※71は70と同じものなので無視。
support02.vbs >>61-63
の3つのファイルを同じフォルダに設置してください。
sample02.htmを表示して送信して下さい。フォームからのデータ取得のサンプルです。
あくまでサンプルですので、エラー処理はしていませんし、実用コードではありません。
POST、GETに対応していますが、POSTデータの場合は実際はただReadAllで読み込むの注意です。
POSTの場合、サイズが巨大なものが有り得ますので、事前サイズチェックはしましょう。
0074nobodyさん
2005/07/18(月) 02:41:24ID:MLViLjPO0075nobodyさん
2005/07/20(水) 01:42:56ID:P18HiGG/00761
2005/07/24(日) 16:43:18ID:???>>45
俺もわかんない(w 初めてWebサイトみたときの記憶で、質問をジエンするときに使う感じでうろ覚え(w
FAQに似てると思うけど(w
>>50
WSHは使わせないというか、最初から危なくて業務用Winサーバーに入れとかないでしょ。
ここはプライベートというか、あくまで遊びだから。
>>60
みんなももっとネタ出してよ。
【ついでに】
・WSH関係あさればたまに目にすると思うけど。バイナリーのファイル入出力はADO2.8がインストされてればADODB.Streamでできるんだけどさ。
CGI実行時に標準入出力を読み書きする解決にはならないよん。
・>>55-58 >>61-63は Shift-JISデコード関数をVBSで書いてるけどVBSエンジンだけインクルードしてChrやAsc関数をJScropt関数で作ったほうが速いいかなぁ?
作ってみるわ。誰かもやってよ(w
00771
2005/07/24(日) 16:51:21ID:???【訂正】
【ついでに】
>ChrやAsc関数をJScropt関数で作ったほうが速いいかなぁ?
JScropt→JScript
書き方が悪くて意味が伝わりませんね?
Chr関数自体をJScriptで作るのではなく、
JScript中でVBSのChr関数を呼び出して、JScript製のデコード関数を作ると言う意味です。
JScriptのほうが正規表現やユーザー関数の拡張性が高いからね、VBSより効率的にかけるかな。
あとでやっておきます。いつかね(w
0078nobodyさん
2005/07/24(日) 17:04:20ID:???みんなAN HTTPDめんどいのかなぁ
0079nobodyさん
2005/09/06(火) 02:04:33ID:???IEは公開してないのか?
0080nobodyさん
2006/05/22(月) 08:58:11ID:???0081nobodyさん
2006/07/08(土) 09:15:04ID:???0082nobodyさん
2006/08/24(木) 12:18:03ID:UeLY+x3Uvbsからexcelのマクロを起動する方法ってどうするのでしょうか?
エクセルマクロを使用するためにtest.wsfからvbs.vbsを呼んでいます。
下記のソースでtest.xlsに埋め込まれているMacro1というマクロを呼び出そうと
しましたが「オブジェクトでサーポートされていないプロパティです」
というエラーが出てしまいます。
------------------------------------test.wsf記述
<job id="ExcelJob">
<reference guid="00020813-0000-0000-C000-000000000046"></reference>
<script language="VBScript" src="./vbs.vbs"></script>
<script language="VBScript">
Call prcMain
</script>
</job>
------------------------------------vbs.vbs記述
Sub prcMain()
Set Excel = CreateObject("Excel.Application")
Excel.Workbooks.Open("c:\test.xls")
Set xlSheet = Excel.Worksheets(1)
Excel.Visible = True
Set objSelection = Excel.Workbooks(1).Worksheets(1).Macro1
End Sub
008382
2006/08/24(木) 12:48:36ID:???0084nobodyさん
2006/08/24(木) 18:56:31ID:???Web製作ではなく↓に誘導しておきます。
WSH(・∀・)スレッド!
http://pc8.2ch.net/test/read.cgi/tech/1055075469/l50
0085nobodyさん
2006/09/27(水) 19:51:41ID:???ttp://www.happy2-island.com/vbs/cafe02/capter00210.shtml
ファイルの削除を参考にしてみましたが、Cookieファイルの指定がうまくできませんでした。
0086nobodyさん
2006/09/28(木) 00:09:34ID:???IEのCOM使ったほうがいいぞ
あと↓で聞いたほうがいい
お前ら、wsh使ってますか? part6
http://pc8.2ch.net/test/read.cgi/win/1155040873/
0087nobodyさん
2006/09/28(木) 00:44:11ID:23IKIm9vどうもありがとう。
0088nobodyさん
2007/07/04(水) 14:20:44ID:???0089nobodyさん
2007/09/06(木) 00:53:56ID:lxdRIcpr特定のソフトを起動するためのVBSの書式を教えてください
ちなみにバッチファイルでは起動しないソフトもあったのでこちらが良いと言われました
ソフトは壷です
"C:\Program Files\2chtubo\2chtubo.exe"
通常ならこのようなバッチファイルで起動するはずなんですが
なぜか起動しませんでした
なのでVBSでやってみたいです
0090nobodyさん
2007/09/06(木) 09:46:52ID:???初心者だから??なに?
>特定のソフトを起動するためのVBSの書式を教えてください
ええと、、、ググリましたか?
>ちなみにバッチファイルでは起動しないソフトもあったのでこちらが良いと言われました
どちらさまに言われましたか?
>なぜか起動しませんでした。なのでVBSでやってみたいです
やりたいなら調べろよ
0092nobodyさん
2008/03/10(月) 10:17:26ID:nD3TpBhGデバッガとしてフリーで使えるものって何かありませんでしょうか?
たとえばどれかの Express Edition とか.
職場では Visual Studio 2005 Professional Edition を使って
いるのですが,自宅でも作業がしたくって.
0093nobodyさん
2008/03/12(水) 22:41:47ID:???をインストールして、cscript.exeやwscript.exeに//Dオプションを付けて
スクリプトを実行すればデバッガが使用可能になりますよ
0094nobodyさん
2008/05/25(日) 01:09:26ID:uDPNiz6JJavaScript でJISエンコードが可能な、escape() 関数ライブラリ
ttp://nurucom-archives.hp.infoseek.co.jp/digital/
但しサーバー運用に向いているかは未確認w
(負荷とか)
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←>>9
(_フ彡 /
0096nobodyさん
2013/07/30(火) NY:AN:NY.ANID:FAIklnka島本町の学校でいじめ・暴力・脅迫・恐喝などを受け続けて、心も身体も壊されて廃人同様になってしもうた僕が言うんやから、
まちがいないで。精神病院へ行っても、ちっとも良うならへん。教師も校長も、暴力やいじめがあっても見て見ぬフリ。
そればかりか、イジメに加担する教師もおった。 誰かがイジメを苦にして自殺しても、「本校にイジメは
なかった」と言うて逃げるんやろうなあ。
島本町の学校の関係者は、僕を捜し出して口封じをするな
>島本町って町は、暴力といじめの町なんだな
>「口封じ」なんかしません。どうぞ、気が済むまでお書き込み下さい。
島本町は日本の恥!島本町は日本の迷惑!
0097nobodyさん
2014/02/13(木) 19:01:25.12ID:wYrEGcCV■ このスレッドは過去ログ倉庫に格納されています