我正在制作一个技术工具包程序,这个“工具包”中包含一个在本地磁盘上运行碎片整理的按钮。目前我为此制作的批处理文件很简单,它只是运行一个基本的碎片分析:
defrag C: /A
触发此按钮的 C# 代码是:
System.Diagnostics.ProcessStartInfo procInfo =
new System.Diagnostics.ProcessStartInfo();
procInfo.Verb = "runas";
procInfo.FileName = "(My Disk):\\PreDefrag.bat";
System.Diagnostics.Process.Start(procInfo);
这段代码完全符合我的要求,它调用 UAC,然后使用管理权限启动我的批处理文件。尽管运行批处理文件后,我收到命令控制台的输出是:
C:\Windows\system32>defrag C: /A
'defrag' is not recognized as an internal or external command,
operable program or batch file.
是什么导致了这个错误,我该如何解决?