【问题标题】:Visual C# add batch fileVisual C# 添加批处理文件
【发布时间】:2013-07-07 15:01:44
【问题描述】:

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

【问题讨论】:

  • 您是指构建前还是构建后?

标签: c# file batch-file launch


【解决方案1】:

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

您可以将.BAT 添加到项目中,将Build Action 设置为Embedded Resource 并将Copy to Output Directory 设置为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# 代码中,然后删除该文件。

【讨论】:

    猜你喜欢
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    • 2015-01-26
    相关资源
    最近更新 更多