使用参数运行批处理文件

时间:2018-01-24 17:51:04

标签: c# batch-file

我正在尝试从c#运行批处理文件。目的是在批处理文件执行时创建一个简单文件。似乎它不起作用。

这是批处理文件代码

one.bat

echo %*
copy NUL EmptyFile.txt
pause

C#代码

 System.Diagnostics.Process.Start("cmd.exe", "/c C:\\Users\ABC\\Desktop\\F1\\one.bat \"a\" b c ");

C#代码运行正常并且似乎调用bat文件,但批处理文件中的新文件未创建。

我在这里错过了什么吗?

由于

1 个答案:

答案 0 :(得分:1)

您没有指定EmptyFile.txt应该去哪里,所以它试图将它放在默认的工作目录中,该目录恰好是Windows的system32目录,该进程可能无权访问。< / p>

您可以在bat文件中使用完整路径(copy NUL C:\Temp\EmptyFile.txt)或更改代码以使用ProcessStartInfo对象,并将WorkingDirectory设置为您想要的任何内容。