c# - 从 C# 在批处理文件中运行批处理文件

标签 c# batch-file cmd

我有两个批处理文件。 第一个是通过 C# 代码启动的:

System.Diagnostics.Process.Start(System.Environment.CurrentDirectory + "\\Files\\myBat.bat",  parameters + " > output.txt");

第二个球棒在第一个球棒内开始:

%MY_PATH%\secondBat.bat

第一个按预期运行,但第二个(第一个 bat 内部)的执行被忽略。 一切正常,直到这一点。

如果通过 cmd.exe 手动启动它确实有效 如果通过 C# 启动,它仅不起作用。

感谢帮助

编辑:这是输出:

C:\TheProg\XXXX\bin\Debug>C:\TheProg\XXXX\bin\Debug\secondBat.bat

它只是不执行

最佳答案

我已尝试重现您的问题。 我在 C:\simplebats

中创建了测试 .bat 文件
bat1.bat:

@echo off
echo "bat1 started"
C:\simplebats\bat2.bat

bat2.bat:

echo "bat2 started"

我按照您的方式从 visual studio 运行 bat1:

System.Diagnostics.Process.Start("C:\\simplebats\\bat1.bat", " > output.txt");

在我运行它之后,一个 output.txt 文件在我的 Debug 文件夹中创建(不在 simplebats 中)并且它有预期的两个行:

"bat1 started"
"bat2 started"

您绝对确定第二个 .bat 文件没有在您的情况下触发吗?也许您看不到它被触发是因为输出文件是在您的 Debug 文件夹中创建的?这是我唯一想到的..

关于c# - 从 C# 在批处理文件中运行批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24242508/

相关文章:

c# - Windows Phone 8 上的语音命令

java - SQL批量更新-回滚 "CREATE TABLE"?

java - 只有在 mysql 运行后才在 windows 中启动时运行 java 程序?

android - Bluestacks (HD-StartLauncher.exe) 通过命令提示符打开

batch-file - CMD 设置/a、模数和负数

c - 如何在Windows上安装Xlib(eclipse、c语言)

c# - 如何在Unity中访问TextMeshProUGUI

c# - C#中的音频描述符MFCC

c# - 识别 Windows 安装程序文件

windows - 具有多行主体的循环