访问被拒绝(运行.bat文件)

本文关键字:bat 文件 运行 拒绝 访问 | 更新日期: 2023-09-27 18:27:20

这是我构建.bat文件并运行它的代码。

StringBuilder Batch = new StringBuilder();
Batch.AppendLine("@echo off");
Batch.AppendLine("taskkill /IM " + Process.GetCurrentProcess().ProcessName + ".exe /F");
Batch.AppendLine("ping localhost > nul");
Batch.AppendLine("del /f " +  (char)34 + Application.ExecutablePath + (char)34);
Batch.AppendLine("ren " + (char)34 + Application.StartupPath + @"'update.exe" + (char)34 + " " + Process.GetCurrentProcess().ProcessName);
Batch.AppendLine((char)34 + Application.ExecutablePath + (char)34);
Batch.AppendLine("del %0");
File.WriteAllText(Application.StartupPath + @"'update.bat", Batch.ToString(), Encoding.Default);
        Process.Start(Application.StartupPath + @"'update.bat");

然而,我的访问被拒绝了,我必须以管理员的身份运行它,我该怎么做?

访问被拒绝(运行.bat文件)

这不是你的问题的答案,但我认为你没有从最好的方向着手。相反,请看这个问题,它为您实际要做的事情提供了一个非常有力的答案:什么是最新的自动更新窗口应用程序

TL;DR如果您的原始安装是"所有用户",那么您将遇到手动提升权限的问题。如果安装是"每个用户",则这简化了权限问题。