【发布时间】:2012-08-07 05:00:27
【问题描述】:
我需要运行一个批处理文件 (setup.bat),它会调用另一个批处理文件 (make_dir.bat),它将在“C:\Program Files”目录中创建一个文件夹。这适用于内部安装程序。所有用户都将使用他们的用户名登录,但将具有本地管理员权限。我尝试了两种方法,但都不起作用。
方法一:
SET PRGFILES=%programfiles%\mySoftware
SET admin=N
SET domain=%USERDOMAIN%\
IF /i "%domain%" EQU "%computername%\" set domain=
SET user=%domain%%username%
FOR /f "Tokens=*" %%a IN ('net localgroup administrators^|find /i "%user%"') DO SET admin=Y
IF "%admin%"=="Y" (
MD "%PRGFILES%"
)
上面写着Access is denied
方法二:
runas /user:%Username% shell\make_dir.bat
make_dir.bat 在哪里
md "%programfiles%\mySoftware"
这会询问当前的用户名和密码,但之后不知何故失败了。我检查了所有用户都拥有本地管理员权限,并且可以在他们的programfiles 文件夹中手动创建一个文件夹。
感谢您的帮助。
【问题讨论】:
标签: batch-file installation administrator program-files