【发布时间】:2013-07-05 14:46:11
【问题描述】:
我是批处理新手,我正在尝试制作一个简单的脚本,将可执行文件从网络驱动器移动到 Program Files 中的某个文件夹。该脚本将由在其计算机上拥有管理员权限的人执行。该 exe 无法在其他地方执行,因为它需要 Program Files 中该特定文件夹中的所有必要库文件(SDK 限制)。
手动,我不能直接将 exe 从网络驱动器拖到文件夹中,因为我收到一个警告,然后是一个错误。警告说:“您需要提供管理员权限才能复制此文件夹”。我有,所以我点击继续。然后我收到一条错误消息,说网络驱动器“X:”不存在。但是,如果我先将 exe 从网络驱动器复制到 Downloads(本地),然后从 Downloads 剪切并粘贴到 Program Files 中的文件夹,我会收到相同的警告,但在单击继续后它会移动文件。
看到我无法手动直接复制,我制作了一个简单的批处理文件来复制我的第二种方法:
COPY "X:\Path\to\program.exe" "C:\Users\Me\Downloads\"
MOVE /-y "C:\Users\Me\Downloads\program.exe" "C:\Program Files\Company\SDK\"
第一行工作正常。第二行返回拒绝访问。看看我是如何访问程序文件的,有没有办法授予 shell 相同的访问权限。这个批处理脚本将由只知道计算基础的人执行,所以我希望脚本能完成所有工作,他们只需要双击它。
【问题讨论】:
-
这里有些东西看起来像是让脚本以管理员身份执行 stackoverflow.com/questions/1894967/…
-
您必须像 Paul sais 那样以管理员身份运行它。 ;)
-
感谢保罗的建议。我已经尝试过发布的内容,但是当我执行脚本并授予它管理员访问权限时,屏幕会闪烁并消失。没有什么变化。感觉就像它只是跳过我的代码并退出。 ://
-
请解释清楚,屏幕发生了什么。你需要一个新的吗?
-
没问题。到目前为止,我从链接 Paul(减去
)部分复制了代码块。在“:---”行之后,我有我的复制和移动命令。当我双击批处理(它在网络驱动器上)时,会弹出 cmd 窗口。 Access Denied 在提示我授予访问权限之前打印。单击“是”后,cmd 窗口将退出
标签: networking batch-file access-denied program-files