1

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

4

1 回答 1

0

BAT 文件需要物理地存在于文件系统中的某个位置才能运行,因此这样做只会带来只发送一个文件(主 .EXE)而不是同时发送两个文件的好处。

您可以将 .BAT 添加到项目中,将Build ActiontoEmbedded ResourceCopy to Output Directoryto设置为Do 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# 代码中,然后删除该文件。

于 2013-07-07T20:38:02.830 回答