如何在管理员模式下执行批处理文件

时间:2014-12-03 11:44:26

标签: windows batch-file cmd batch-processing

我正在尝试使用net share编写批处理文件以在我的网络中共享文件夹,但它需要管理员权限。我不知道如何在管理模式下执行此命令。

在Windows搜索中右键单击cmd.exe并选择“以管理员身份运行”时,它不会向我询问密码,但是当我使用runas命令编写批处理代码时,它会要求输入密码。为什么会这样?

我使用了以下命令

runas.exe /profile /user:administrator "cmd.exe"

start /wait cmd.exe /k "net share Inputs=Folder_Path /GRANT:Everyone,FULL"

并没有奏效。

我正在使用Win 7 32位

另外,在某个地方,我看到在共享文件夹之后也会执行以下操作

Icacls Folder_Path /grant Everyone:F /inheritance:e /T

这需要吗?

请帮忙

1 个答案:

答案 0 :(得分:4)

如果您希望批处理脚本在需要时要求提升,this page可能会对您有所帮助。我将其改编为在我从网上提供的批处理脚本中使用,如下所示:

REM  --> Check for permissions
"%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system">nul 2>NUL

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    if exist "%temp%\getadmin.vbs" (
        del "%temp%\getadmin.vbs"
        echo Failed to acquire elevated privilege.  Try saving this script and running it from your Desktop.
        echo;
        echo Press any key to exit.
        pause>NUL
        goto :EOF
    )
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "%*", "", "runas", 1 >> "%temp%\getadmin.vbs"

    cscript /nologo "%temp%\getadmin.vbs"
    goto :EOF

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
:--------------------------------------

:: The rest of the script goes here...

关于“尝试保存此脚本”消息,如果用户尝试直接从Web浏览器打开批处理脚本,则浏览器安全性可能会阻止提升。我必须包含它以提醒我的用户先保存脚本,然后在Web浏览器外独立运行。

无论如何,盐味。