C语言调用批处理文件的问题

noahxinhao 2012-05-15 01:07:29
我想在c中调用多个批处理文件,第一个start.bat获得管理员权限,并且使后面的批处理文件能在管理员权限下运行,请问可行吗?怎么做 最好留下代码,谢谢大侠了(我是学java的,对C不太熟悉,现在要用到了各位帮帮忙 拜谢了。。)
...全文
592 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
noahxinhao 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
通常在当前cmd内启动的其它进程属于cmd的子进程,自动继承其父进程的身份和权限。
[/Quote]
那么可以在子进程中执行剩下的批处理文件吗,也就是在管理员权限下执行,这个需要自动执行的
aCracker 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]
不call的话,执行完b.bat就不会回到a.bat继续执行下一句c.bat了……
[/Quote]
好吧!我务人子弟的,你是对的.
赵4老师 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
runas /user:administrator "cmd.exe /c a.bat"
这句是以管理员权限允许a.bat,会要求你输入密码.
然后a.bat里面直接写你需要允许的bat就可以了
如:
b.bat
c.bat
不需要call,这些bat都会以管理员权限执行.
[/Quote]
不call的话,执行完b.bat就不会回到a.bat继续执行下一句c.bat了。
aCracker 2012-05-15
  • 打赏
  • 举报
回复
runas /user:administrator "cmd.exe /c C:\a.bat&&cmd.exe /c C:\b.bat"
这样写也可以.如果还有批处理就自己加.
aCracker 2012-05-15
  • 打赏
  • 举报
回复
runas /user:administrator "cmd.exe /c a.bat"
这句是以管理员权限允许a.bat,会要求你输入密码.
然后a.bat里面直接写你需要允许的bat就可以了
如:
b.bat
c.bat
不需要call,这些bat都会以管理员权限执行.

赵4老师 2012-05-15
  • 打赏
  • 举报
回复
通常在当前cmd内启动的其它进程属于cmd的子进程,自动继承其父进程的身份和权限。
noahxinhao 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
权限止于本进程,即本cmd.exe进程上下文中。
[/Quote]
那就是说不可能实现了啊?
赵4老师 2012-05-15
  • 打赏
  • 举报
回复
权限止于本进程,即本cmd.exe进程上下文中。
noahxinhao 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
写好bat文件,然后用system函数调用。切换管理员权限的话,windows下有个命令:Runas命令。具体的自己谷歌下,应该能找到的
[/Quote]
这个方法可以获得管理员权限 但是不可以使后面的批处理文件自动的在管理员权限下运行的啊
noahxinhao 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
runas 获得管理员权限 需要 管理员用户名 和密码,如果你有,那么你说的功能能实现.
[/Quote]
怎么实现,能写下具体一点的代码吗,比喻我在start.bat文件中写入获得管理员权限的命令,在输入密码之后会跳出一个新的CMD窗口 我想在另一个bat文件执行的时候在这个新的具有管理员权限的CMD窗口上运行(自动执行)这个该怎么设计
ps我是想在start.bat文件在执行后只需要输入管理员命令这一步骤,其余的部分计算机自动执行,也就是说只需要运行start.bat文件然后获得管理员权限,在此之后执行其余的批处理文件而这些不需要手动的执行
noahxinhao 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
runas /user:administrator "cmd.exe /c a.bat"
在a.bat里面事先写入
call a1.bat
call a2.bat
……
[/Quote]
是不是在后面的bat文件比喻test.bat,在这个文件的开始加上call start.bat,这样的运行结果是执行了start.bat但是它是在新建立的一个cmd窗口具有管理员权限,原来的cmd窗口还是没有权限执行后面的批处理命令啊
赵4老师 2012-05-15
  • 打赏
  • 举报
回复
runas /user:administrator "cmd.exe /c a.bat"
在a.bat里面事先写入
call a1.bat
call a2.bat
……
aCracker 2012-05-15
  • 打赏
  • 举报
回复
runas 获得管理员权限 需要 管理员用户名 和密码,如果你有,那么你说的功能能实现.
noahxinhao 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
写好bat文件,然后用system函数调用。切换管理员权限的话,windows下有个命令:Runas命令。具体的自己谷歌下,应该能找到的
[/Quote]
我想问的是在获得管理员权限之后,以后的批处理文件都能自动的在管理员权限下运行,我写的都是获得管理员权限之后,程序后面的批处理文件还是在原来的cmd窗口运行的,怎么实现在新获得的管理员权限写运行批处理文件呢?
noahxinhao 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
在start.bat中用call语句调用其它bat?
[/Quote]
想问一下怎么写这个call语句啊
start.bat文件中写入runas /user:administrator "cmd.exe"之后再加上call语句的吗?怎么加啊 格式是什么样的
赵4老师 2012-05-15
  • 打赏
  • 举报
回复
在start.bat中用call语句调用其它bat?
W170532934 2012-05-15
  • 打赏
  • 举报
回复
写好bat文件,然后用system函数调用。切换管理员权限的话,windows下有个命令:Runas命令。具体的自己谷歌下,应该能找到的

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧