xyhqqaa 发表于 2012-6-20 11:15:45

关于runas调用程序

本帖最后由 xyhqqaa 于 2012-6-20 11:17 编辑

由于我本身是普通域账户,就是一般普通权限的账户,但是呢。最近遇到一个问题。是要处理数据备份的。。新手没啥能力,只好想到调用微软的强大的robocopy.exe。。。。但是这玩意有个蛋疼的地方,需要管理员权限才能运行备份。。所以呢,我便想到使用runas..但是能调用robocopy.exe还需要跟参数"robocopy D:\1号源地址文件夹 D:\2号备份文件夹 /b /copyall /log:备份日志.log"..上面需要在命令窗口调用才行。。。原先的想法是先生成个调用robocopy的小程序。再用另外一个程序以管理员身份调用。但是发现没效果- -。。。。后面想到估计是不是嵌套太多。。便想一个程序内搞定。。使用批处理RUNAS /USER:ADMINISTRATOR robocopy D:\1号源地址文件夹 D:\2号备份文件夹 /b /copyall /log:备份日志.log可以正常生成日志。但是使用AU3Runas("administrator","","1234",1,"robocopy D:\1号源地址文件夹 D:\2号备份文件夹 /b /copyall /log:备份日志.log",@SW_HIDE )却蛋碎了。。。还是没反应..是应为AU3程序后面不能跟参数??

ashfinal 发表于 2012-6-20 11:15:46

本帖最后由 ashfinal 于 2012-7-10 12:18 编辑

没咋玩过,都是现学现卖 试试Run(@ComSpec & " /k RUNAS /USER:ADMINISTRATOR robocopy D:\1号源地址文件夹 D:\2号备份文件夹 /b /copyall /log:备份日志.log","",@SW_HIDE)

或者RunAs估计也行 关键点在加上命令行解释器参数 @ComSpec

邪恶海盗 发表于 2012-6-20 12:45:33

AU3不是有FileCopy么???

xyhqqaa 发表于 2012-6-20 13:33:48

回复 2# 邪恶海盗


    filecopy绝对没有微软自带的这小工具强大简单

xiaowo 发表于 2012-6-20 13:39:24

确实,有些功能用批处理比AU3函数要完成得好

fpquenya 发表于 2012-6-20 15:14:11

本帖最后由 fpquenya 于 2012-6-20 15:21 编辑

可以带参数的,我做软件安装器就是runas的管理员账号,软件也带静默参数的.试试这个呢

Runas("administrator","域名或本机名","1234",0,chr(34) & "robocopy D:\1号源地址文件夹 D:\2号备份文件夹 /b /copyall /log:备份日志.log" & chr(34),"",@SW_HIDE )

pighead456 发表于 2012-6-21 08:09:23

直接用 bat

没必要 再用au3

xyhqqaa 发表于 2012-6-21 14:06:45

回复 6# pighead456


    用批处理反而没AU3熟悉、、、- -。。。还有很多、、、这只是其中遇到一小部分。。。批处理。。。。蛋碎的玩意。。。没用过。。。

wua0550 发表于 2012-6-30 22:28:14

本帖最后由 wua0550 于 2012-6-30 22:31 编辑

晕哦怎么就是一棵树上呆死了呢
用runas运行批处理不就继承权限拉,下面的存为123.bat

"start robocopy D:\1号源地址文件夹 D:\2号备份文件夹 /b /copyall /log:备份日志.log"

Runas("administrator","","1234",1,"123.bat","",@SW_HIDE )
还有你的runas 参数不对少了一个目录参数
Runas("administrator","","1234",1,"robocopy D:\1号源地址文件夹 D:\2号备份文件夹 /b /copyall /log:备份日志.log","",@SW_HIDE )

wingking84 发表于 2012-7-1 11:45:04

回复邪恶海盗


    filecopy绝对没有微软自带的这小工具强大简单
xyhqqaa 发表于 2012-6-20 13:33 http://www.autoitx.com/images/common/back.gif

别管有多强大,够用就行。推荐filecopy

lchl0588 发表于 2012-7-1 12:02:07

除了楼上说的少一个“工作目录”之外,还有“程序”你所写不对吧!!!
帮助所说 程序== 程序所在的完整路径(文件格式为 EXE,BAT,COM 或 PIF). (汉化帮助是这样嘀)

devinzhao 发表于 2012-7-5 21:43:03

AU3不是还有DirCopy吗,FileCopy + DirCopy我想应该够用了。

fhqbbfcu2050 发表于 2012-7-10 09:44:06

_rundos直接用DOS命令不是OK的么.你批处理直接运行不要求权限,那这个应该也是OK的呀...

fhqbbfcu2050 发表于 2012-7-10 09:45:56

#include <Process.au3>
_rundos("robocopy D:\1号源地址文件夹 D:\2号备份文件夹 /b /copyall /log:备份日志.log")

ashfinal 发表于 2012-7-10 11:34:08

Robocopy, or "Robust File Copy", is a command-line directory replication command.

既然是个命令行工具,难道不该是Run(@ComSpec & " /k help | more")之类的么?

{:face (207):}
页: [1] 2
查看完整版本: 关于runas调用程序