2013-07-07 45 views
1

有没有什么办法可以将bat文件添加到visual studio项目中,并从那里启动它,而不是有2个文件?我试图直接添加一个批处理文件,但没有奏效。Visual C#添加批处理文件

+1

你是指pre或post build? – thalm

回答

0

的BAT文件需要在文件系统中某处运行的物理存在,所以这样做只会有出货只有一个文件(主.EXE)的利益,而不是两个。

您可以将.BAT添加到项目中,将Build Action设置为Embedded ResourceCopy to Output DirectoryDo not copy。然后,在运行时,当您要执行它,你必须把它解压到一个临时目录(而不是测试,但它应该显示的想法):

Stream batFileStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Project1.Test.bat"); 
FileStream tempFileStream = File.Create(Path.Combine(Path.GetTempPath(),"Test.bat")); 
batFileStream.CopyTo(tempFileStream); 
batFileStream.Close(); 
tempFileStream.Close(); 

然后从临时位置运行它:

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

另一种替代的方法可以是认为该bat文件的功能直接集成到你正在做的C#代码,并摆脱文件。