• ベストアンサー

VBSの戻り値

windows 2003サーバで使うVBSファイルを以下のように作りました。このとき明示的に戻り値0を返したいのですが、どのような記述になるか教えてください。 --------------------------------------- c:\winnt\system32\ shutdown.exe -r -t 0 ---------------------------------------

質問者が選んだベストアンサー

  • ベストアンサー
  • tohru999
  • ベストアンサー率49% (76/154)
回答No.2

「WScript.Quit (0)」で大丈夫ですよ。 WScript.Quit でも、戻り値に0を返せるのですが、 明示的に (0) を付けたほうがわかりやすかったですね。

ritomo
質問者

お礼

ありがとうございます よく分かりました

その他の回答 (1)

  • tohru999
  • ベストアンサー率49% (76/154)
回答No.1

WScript.Quit で、どうでしょうか?

ritomo
質問者

お礼

早速の回答ありがとうございます。 下記の記述で大丈夫でしょうか? --------------------------------------- c:\winnt\system32\ shutdown.exe -r -t 0 WScript.Quit (0) ---------------------------------------

関連するQ&A

  • VBSでバッチを実行できません。

    C:\temp\test.batをVBSで実行しようとするのですが、 何度やっても実行されません。 想像ですが、c:\WINNT\System32\cmd.exeが動いている ようなのですが、肝心のC:\temp\test.batが動きません。 以下のように記述しました。 Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run ("cmd /c c:\temp\test,0,True") WIN2K、IE6.0の環境です。 どこか記述に誤りでもあるのでしょうか? どうぞよろしくお願いいたします。

  • UWSCからvbsファイルを呼ぶ方法

    UWSCからvbsを呼ぼうと思って以下の記述をしてみましたが、上手く動きません。 str="C:\SendMail.vbs" Exec(str) SendMail.vbsファイルをマウスでクリックすると正常にメールが届くのでSendMail.vbs内の記述には問題なさそうです。 ググってもUWSCファイル内にvbsのファンクションを記述する方法はありましたが、vbsファイルの呼び出し方は見つけられませんでした。 正しい記述方法があれば教えて下さい。よろしくお願いします。

  • prnport.vbsについて

    prnport.vbsについてご教示ください。 環境はWIN7です。 スクリプトでプリンタの「一時停止」と「再開」を行いたいと、かれこれ一週間試行錯誤しています。 コマンドプロンプトにて C:\>cscript.exe /nologo %WINDIR%\System32\Printing_Admin_Scripts\ja-JP\prnqctl.vbs -z -p "Brother DCP-J925N Printer" を入力すると希望どおり「一時停止」されるのですが 上記コマンドを入力したVBSファイルを作成し、ダブルクリックしても設定が反映されません。VBSファイルになにか記述において不足している情報などございますでしょうか? よろしくお願いいたします。

  • CreateProcess関数と実行後の戻り値について

    VB6からCで作られたEXEを実行した戻り値を取得したいのですが どのように記述すればよいのでしょうか? 制御が戻るまで固まらずに待ち続けるには CreateProcessを使うと良いとは思いますが、 notepadなど一方的に動作させて終了するようなサンプルしかなく、 戻り値を取得するサンプルは見当たりませんでした。 戻り値といってもCのEXEは結果を標準出力で表示されるものですが・・・ 何か良いサンプルはあるでしょうか? CreateProcessを使わない方法でも構いません。 r = CreateProcess( _ cmd, _ param, _ ByVal 0&, _ ByVal 0&, _ 0, _ NORMAL_PRIORITY_CLASS, _ ByVal 0&, _ vbNullString, _ si, _ pi _ )

  • CodeRed?

    先月CodeRed,CodeRed2のダブルパンチをくらい対策をしたのですが、 18日からwebサーバーへのログが変わりました。 /scripts/root.exe, /c+dir, /MSADC/root.exe, /c+dir, /c/winnt/system32/cmd.exe, /c+dir, /d/winnt/system32/cmd.exe, /c+dir, /scripts/..%5c../winnt/system32/cmd.exe, /c+dir, /_vti_bin/..%5c../..%5c../..%5c../winnt/system32/cmd.exe, /c+dir, この様なログが延々と続いています。 一体何でしょうか? CodeRedで感染する(バックドアを仕掛ける)ファイル名にアクセスしているのですか? ちなみに、これらのファイルはサーバー内には有りません。

  • Windows2003サーバです。

    Windows2003サーバです。 このたび自動のリブートをタスクからバッチで登録したのですが、 (shutdown.exeを使用。) ネットで調べてみるとreboot.vbsがあるというのでマイクロソフトのサイトから 落としてみたところ落ちてきたファイル名称は"restart.vbs" なんでなんでしょうか?ご存知の方教えてください。

  • VBAでコマンドプロンプトを呼び出す記述で

    やりたいことはVBAからコマンドプロンプトにてBCP.EXEを呼び出してSQL文を実行することです。 コマンドプロンプトで直接打つと以下のようなコマンドになります。SQL文は長いので省略しました。 ************************* "c:\WINNT\system32\cmd.exe /k" "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\bcp.exe " "SQL文" ************************* これをVBAで以下のように記述しました。 ////////////////////////////////////////////////// stAppName = "c:\WINNT\system32\cmd.exe /k" stAppName = stAppName & "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\bcp.exe " stAppName = stAppName & "SQL文" Call Shell(stAppName, 1) ///////////////////////////////////////////////// 上のような記述だとコマンドプロンプトでは パスのダブクォテーションがなくなり ************************* c:\WINNT\system32\cmd.exe /k C:\Program Files\Microsoft SQL Server\80\Tools\Binn\bcp.exe ”SQL文” ************************* のように実行されBCP.exeのパスが通らず以下のエラーになります。 ///////////////////////////////////////////////// 内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ///////////////////////////////////////////////// どなたかVBAでコマンドのパスにダブルクォテーションをつける方法を教えてください。

  • SQLServer2005のストプロでxp_cmdshellを使いvbsファイルを実行できない

    ストプロ内でxp_cmdshellを使用し、vbsファイルを実行したいのですが実行できません。 vbsファイルはxp_cmdShellでキックされたらSQLサーバのデータをSELECTし、テキストファイルにSELECTで取得した行数だけ行を追加するという内容です。 vbsファイルはコマンドプロンプトから実行すると動くので正しいと思います。 ストプロにはvbsファイル実行の前後にtableのupdate作業があり、 その2つは行われます。しかし、書き出されるはずのデータがテキストファイルに書き出されません。 vbsファイルは実行されていないようですがエラーは出ず正常終了となり、 xp_cmdshell実行後の戻り値は0で成功となっています。 xp_cmdshellオプションは有効になっており、は混合モードでSysAdminの権限を持つユーザーで処理をしています。 また、ストプロではなく、SQLServerManagementStudioから下記のようにvbsファイル実行しようとした場合、エラーなく正常終了するのですがテキストファイルにデータは追加されていません。  EXEC @result = xp_cmdshell 'Cscript c:\AddRow.vbs' しかし、EXEC xp_cmdshell 'dir *.exe'は実行できます。 vbsファイルをxp_cmdshell で実行するときは何か特殊な記述が必要なのでしょうか。何がいけないのかわからず困っております。お気づきのことがありましたらご指摘いただけますようお願い致します。 以下にストプロの中身をを記述します。 BEGIN   SET NOCOUNT ON; -- テーブルのアップデート処理   UPDATE table1 SET Status = 1   WHERE Status = 0 --ファイル書き出しvbsの実行   DECLARE @result int   SET @result = 1   EXEC @result = xp_cmdshell 'Cscript c:\AddRow.vbs' --ここは下記のようにCscriptを抜いても試しましたがだめでした。 --EXEC @result = exec master..xp_cmdshell 'c:\AddRow.vbs'   IF (@result = 0)   BEGIN --xp_cmdshellの実行が成功したときのみこの処理に入る予定。 --実際は実行されていないようだが@result が0なのでこの処理を行っている。     UPDATE table1 SET Status = 2     WHERE Status = 1   END END

  • 不安なので教えて頂きたいです

    最近IPアドレスが勝手に変えられていたりしていて不安でOSをクリーンインストールしました(win2kです)。 ネットワークに繋げずにSP4までアップデートして ドライバ等をインストしてから、 セキュリティの為にノートンインターネットセキュリティをインストールしようとしたところ、 「インストールのシステムが壊れているか、ウィルスに感染しているおそれがあります。」 と出ました(インストできませんでした)。 他のフリーのウィルス検出ソフトも同じ警告が出てインストできませんでした。 オンラインのウィルスチェックをしたくてもネットにファイアウォールなしでつなぐのは怖いです。 どうすればよいでしょうか、レジストリやWINのファイルのことについては 全然詳しくないので見方などわからずどれがウィルスか見当がつきません。 教えて頂けると幸いです、どうぞよろしくお願い致します。 以下は HijackThis で出てきたログです。 Logfile of HijackThis v1.99.1 Scan saved at 23:40:58, on 2006/05/07 Platform: Windows 2000 SP4 (WinNT 5.00.2195) MSIE: Internet Explorer v5.00 SP4 (5.00.2920.0000) Running processes: C:\WINNT\System32\smss.exe C:\WINNT\system32\winlogon.exe C:\WINNT\system32\services.exe C:\WINNT\system32\lsass.exe C:\WINNT\system32\svchost.exe C:\WINNT\system32\spoolsv.exe C:\WINNT\System32\svchost.exe C:\WINNT\system32\nvsvc32.exe C:\WINNT\System32\WBEM\WinMgmt.exe C:\WINNT\system32\svchost.exe C:\WINNT\Explorer.EXE C:\WINNT\system32\imejpmgr.exe C:\WINNT\system32\Internat.exe C:\WINNT\system32\conime.exe D:\b\dl\セキュリティ関連\hijackthis\HijackThis.exe

  • Excelマクロ戻り値をバッチファイルで取得したい

    下記のように、Windowsのコマンドプロンプトから バッチファイル(test.bat)を実行して、 バッチファイルの中から、 VBスクリプトファイル(test.vbs)を実行して、 VBスクリプトファイルの中から、 Excelブック(Book1.xlsm)の中の main()というマクロを実行させていますが、 以下のことがよく分からないので教えてください。 (問1) Excelマクロmain()の戻り値(result)を、    VBスクリプトファイル(test.vbs)の中で    利用したいのですが、Excelマクロからの    戻り値を取得する方法がよく分かりません。    例えば、WScript.Echoでresultの値を表示するには、    どのように記述すればよいのでしょうか。 (問2) Excelマクロmain()の戻り値(result)を、    バッチファイル(test.bat)の中で    利用したいのですが、VBスクリプトからの    戻り値を取得する方法がよく分かりません。    例えば、echoでresultの値を表示するには、    どのように記述すればよいのでしょうか。 よろしくお願いします。 ---test.bat--------------------------------------- cscript C:\test\test.vbs /A:"C:\test\Book1.xlsm" /B:"main" (ここでechoなどでresultの値を表示したい) -------------------------------------------------- ---test.vbs--------------------------------------- Dim oApp Set oApp = CreateObject("Excel.Application") oApp.Visible = False Set objParm = WScript.Arguments.Named oApp.Workbooks.Open objParm("A") oApp.Run objParm("B") oApp.DisplayAlerts = False oApp.Quit oApp.DisplayAlerts = True (ここでWScript.Echoなどでresultの値を表示したい) -------------------------------------------------- ---Main() (Excelマクロ)--------------------------- Function main() As Integer (処理)  main=result End Function --------------------------------------------------