以管理员身份运行批处理文件 - Windows 7 - 从网络文件系统命令"运行方式"

Noo*_*Tom 7 shell administration cmd dos batch-file

我需要设置程序安装程序的交付.

该程序有一个program_installer.exe和一个文件夹,我在创建安装程序时无法在安装程序中包含该文件夹.

因此,当用户需要安装程序时,我通过MAIL向他发送BATCH文件

@echo off
if DEFINED PROGRAMFILES(X86) (
SET TOOL_INSTALL_DIR="%PROGRAMFILES(X86)%\myfolder"
) else (
SET TOOL_INSTALL_DIR="%PROGRAMFILES%\myfolder"
)

MKDIR %TOOL_INSTALL_DIR%
copy /y \\rk0012352\Public\lkh5iwwh.m4s %TOOL_INSTALL_DIR%


START %PROGRAMFILES%\program_installer.exe
Run Code Online (Sandbox Code Playgroud)

问题是,当用户执行BATCH并运行COPY命令时,在Windows 7上该命令将失败,因为他没有ADMIN权限.

如何在XP和7上以管理员身份运行该复制命令?

您可能会说:当用户使用INSTALL.BAT获取EMAIl时,他是否可以单击RUN AS ADMINISTRATOR?

答案不幸的是,他们中的大多数人都不会这样做而只是抱怨它不起作用.此外,许多电子邮件客户端,如Outlook将提示"打开""保存"选择面板,大多数用户将直接单击打开(生成无权限错误)

"运行为"命令需要指定机器的管理员名称,我不知道如何在每台计算机上调用管理员用户.

有什么建议吗?

Adr*_*tti 7

这有点棘手,但可以做到.

首先,您必须知道(来自批处理文件)用户是否为管理员.如果是,那么你可以继续安装.如果不是,您可以运行另一个cmd.exe实例以管理员身份运行批处理文件(使用该runas命令).

要检测用户是否是管理员,请查看以下帖子:http://www.tomshardware.co.uk/forum/169421-36-determine-batch-file-user-administrator(有提升的完整代码批次本身也是如此).