バッチファイルから呼び出そうとしている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"
コマンドPromptを使用してバッチファイルを実行しようとすると、別のコマンドPromptが開きます。
rem This is the command line version
cscript "C:\Users\guest\Desktop\123\MyScript.vbs"
OR
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"
は引き続き使用できますが、これには、ユーザーがwscript
に関連付けられた*.vbs
を持っている必要があります。
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コードとして挿入する必要があります。