1

我编写了一个小批处理文件,将 exe 从解决方案复制到system32文件夹。

copy "blah.exe" "%systemroot%/System32"

如果通过双击从桌面运行,批处理文件可以正常工作并复制 exe(也将 exe 放在桌面上)

但是,我尝试通过以下方式从 Windows 应用程序执行此操作:

Process.Start("sample.bat");

(EXE 文件和 batfile -> 属性 -> 始终输出到复制) 确实出现了 cmd 窗口,但目标目录中没有 .exe 文件。我在这里想念什么?

4

1 回答 1

0

在您的批处理文件更改路径到您有 blah.exe 的特定文件夹,更改到特定驱动器,然后到特定文件夹说您的源文件夹是 C:\test 然后在批处理文件中键入 cd\test,它应该是喜欢:

C:
cd\test
copy "blah.exe" "%systemroot%/System32"

或使用完整路径的副本,例如

copy "C:\test\blah.exe" "%systemroot%/System32"

编辑:要使用 CMD 复制尝试:

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new       System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C copy /b blah.exe %systemroot%/System32";
process.StartInfo = startInfo;
process.Start();

编辑2:或批处理文件

 System.Diagnostics.Process.Start("cmd", "/c sample.bat");
于 2012-04-09T10:19:50.263 回答