执行批处理文件以管理员身份启动wifi热点
Execute batch-file to start wifi hotspot as admin
我正在使用 windows 10,而且我经常需要从 cmd
手动启动 wifi 热点。所以,我在想也许我可以编写一些代码,这样我就不必一次又一次地编写命令,但我没有使用 .bat 文件的经验。
我是这样启动热点的:
- 以管理员身份打开
cmd
netsh wlan set hostednetwork mode=allow ssid=AdHoc key=password
netsh wlan start hostednetwork
其中最难的部分是 运行 一个 .bat 文件自动以管理员身份运行,甚至无需右键单击它。您需要将此代码保存为.bat 文件:
@ECHO OFF
:: this tests if the file is running as admin
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (GOTO askAdmin)
GOTO gotAdmin
:askAdmin
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
::from this point you can execute your command as admin
netsh wlan set hostednetwork mode=allow ssid=AdHoc key=password
netsh wlan start hostednetwork
请注意,这确实会在没有管理权限的情况下启动时显示 "Run this program as admin?" 提示,但是如果您右键单击此批处理文件并选择 运行 作为管理员,它应该会立即执行您想要的命令它执行
哦,这是给你的解决方案。
让我们创建快捷方式,每一个你想打开wifi,你只需要点击=>确定!
Start: netsh wlan start hostednetwork
Stop: netsh wlan stop hostednetwork
右击快捷方式/属性/高级.../勾选运行为
administrator/ ok / Apply / ok.
示例:Youtube.
我正在使用 windows 10,而且我经常需要从 cmd
手动启动 wifi 热点。所以,我在想也许我可以编写一些代码,这样我就不必一次又一次地编写命令,但我没有使用 .bat 文件的经验。
我是这样启动热点的:
- 以管理员身份打开
cmd
netsh wlan set hostednetwork mode=allow ssid=AdHoc key=password
netsh wlan start hostednetwork
其中最难的部分是 运行 一个 .bat 文件自动以管理员身份运行,甚至无需右键单击它。您需要将此代码保存为.bat 文件:
@ECHO OFF
:: this tests if the file is running as admin
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (GOTO askAdmin)
GOTO gotAdmin
:askAdmin
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
::from this point you can execute your command as admin
netsh wlan set hostednetwork mode=allow ssid=AdHoc key=password
netsh wlan start hostednetwork
请注意,这确实会在没有管理权限的情况下启动时显示 "Run this program as admin?" 提示,但是如果您右键单击此批处理文件并选择 运行 作为管理员,它应该会立即执行您想要的命令它执行
哦,这是给你的解决方案。
让我们创建快捷方式,每一个你想打开wifi,你只需要点击=>确定!
Start: netsh wlan start hostednetwork
Stop: netsh wlan stop hostednetwork
右击快捷方式/属性/高级.../勾选运行为 administrator/ ok / Apply / ok.
示例:Youtube.