我编写了一个小型批处理文件,可以将解决方案中的exe文件复制到system32
文件夹。
copy "blah.exe" "%systemroot%/System32"
批处理文件正常工作并通过双重clikcing从桌面运行复制exe(同时在桌面上放置exe)
但是,我尝试通过以下方式从Windows应用程序执行此操作:
Process.Start("sample.bat");
(EXE文件和batfile - >属性 - >输出到复制总是) cmd窗口确实出现,但目标目录中没有.exe文件。我在这里缺少什么?
答案 0 :(得分: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");