Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual C#添加批处理文件_C#_File_Batch File_Launch - Fatal编程技术网

Visual C#添加批处理文件

Visual C#添加批处理文件,c#,file,batch-file,launch,C#,File,Batch File,Launch,有没有办法将一个bat文件添加到VisualStudio项目并从那里启动它,而不是有两个文件?我曾尝试直接添加批处理文件,但没有成功。BAT文件需要实际存在于文件系统的某个位置才能运行,因此这样做的好处是只提供一个文件(main.EXE),而不是同时提供两个文件 您可以将.BAT添加到项目中,将生成操作设置为嵌入资源,并将复制到输出目录设置为不复制。然后,在运行时,当您想要执行它时,您必须将它提取到一个临时目录(未测试,但它应该会显示这个想法): 然后从临时位置运行它: Process.Star

有没有办法将一个bat文件添加到VisualStudio项目并从那里启动它,而不是有两个文件?我曾尝试直接添加批处理文件,但没有成功。

BAT文件需要实际存在于文件系统的某个位置才能运行,因此这样做的好处是只提供一个文件(main.EXE),而不是同时提供两个文件

您可以将.BAT添加到项目中,将
生成操作设置为
嵌入资源
,并将
复制到输出目录
设置为
不复制
。然后,在运行时,当您想要执行它时,您必须将它提取到一个临时目录(未测试,但它应该会显示这个想法):

然后从临时位置运行它:

Process.Start(Path.Combine(Path.GetTempPath(), "Test.bat"));

另一种替代方法是考虑将bat文件功能直接集成到您正在执行的C代码中,然后删除该文件。

您是指预构建还是后构建?
Process.Start(Path.Combine(Path.GetTempPath(), "Test.bat"));