VB scripting
私には完全に異質ですが、今日は小さなものを書く状況に陥りました。.bat
ファイルを実行するには管理者権限が必要です。そのため、管理者権限がない場合は管理者権限に昇格させようとしています。SO と Google の助けを借りて、私は次のようになりました。
Function Length()
Set WshShell = WScript.CreateObject("WScript.Shell")
If WScript.Arguments.length = 0 Then
Set ObjShell = CreateObject("Shell.Application")
ObjShell.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """" & " RunAsAdministrator", , "runas", 1
Else
Dim shell
set shell=createobject("wscript.shell")
shell.run "ExtractFiles.bat"
End If
End Function
Length
ここでは、これ.vbs
とExtractFiles.bat
を同じフォルダに保存します。2 つのコマンド プロンプトを開きました。1 つは管理者モード、もう 1 つは通常モードです。このスクリプトを管理者モードでコマンド プロンプトから実行すると、成功します。しかし、通常モードでは、最初に管理者モードに切り替えるためのウィンドウが表示され、それを押しますYes
。次に、以下のエラーが発生します。
誰でも私に正しいコードを教えてもらえますか。行でエラーが発生していますshell.run "ExtractFiles.bat"
。助けてください!
要件についても言及したように、別のアプローチも歓迎されます。この問題では、bat ファイルを管理モードで実行し、通常モードで失敗する方法がわかりません。