4

バッチファイルから呼び出そうとしているVBScriptファイルがあります。メモ帳に対応してMyScript.vbsとして保存した次のコード

(http://gallery.technet.microsoft.com/scriptcenter/8bbed56f-a7aa-491f-a296-687dd96098a3#content)

    Const HIDDEN_WINDOW = 12 

    strComputer = "." 
    Set objWMIService = GetObject("winmgmts:" _ 
               & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    Set objStartup = objWMIService.Get("Win32_ProcessStartup") 

    Set objConfig = objStartup.SpawnInstance_ 
    objConfig.ShowWindow = HIDDEN_WINDOW 
    Set objProcess = GetObject("winmgmts:root\cimv2:Win32_Process") 
    errReturn = objProcess.Create("Notepad.exe", null, objConfig, intProcessID) 

Run.batという名前のバッチファイルを作成し、その中に以下のコードを追加しました。

    @echo off

    start "C:\\Users\\guest\\Desktop\\123\\MyScript.vbs"

コマンドプロンプトからバッチファイルを実行しようとすると、別のコマンドプロンプトが開きます。

4

2 に答える 2

11
rem This is the command line version
cscript "C:\Users\guest\Desktop\123\MyScript.vbs"

また

rem This is the windowed version
wscript "C:\Users\guest\Desktop\123\MyScript.vbs"

//e:vbscriptスクリプトエンジンがスクリプトをvbscriptとして認識できるようにするオプションを追加することもできます。

\Windows / DOSバッチファイルは、*nixのようにエスケープする必要はありません。

を引き続き使用できます"C:\Users\guest\Desktop\123\MyScript.vbs"が、これにはユーザーがに*.vbs関連付けられている必要がありますwscript

于 2012-07-27T14:47:23.130 に答える
0

vbsアソシエーションタイプを修正する場合

regsvr32 vbscript.dll
regsvr32 jscript.dll
regsvr32 wshext.dll
regsvr32 wshom.ocx
regsvr32 wshcon.dll
regsvr32 scrrun.dll

また、管理のためにvbsを使用できない場合は、スクリプトをvb.netプログラムに変換します。このプログラムは、簡単で、簡単で、5分かかるように設計されています。

大きな違いは、関数とサブの両方が、関数だけでなく角かっこを使用して呼び出されることです。

したがって、コンパイラは、.NETがインストールされているすべてのコンピュータにインストールされます。

.NET exeの作成方法については、こちらの記事を参照してください。サンプルはスクリプトホスト用であることに注意してください。これは使用できません。vbsコードを.NETコードとして挿入する必要があります。

VBScriptを実行可能(EXE)ファイルに変換するにはどうすればよいですか?

于 2013-10-15T20:05:22.137 に答える