我创建了ac#program和.bat文件。我的简单目标是将参数传递给bacth文件并运行它。我可以传递参数并在批处理文件中调用它但我无法创建任何日志文件。 我尝试了很多但没有成功。这是第一次尝试混合c#和批量编程(不擅长批处理)。这是代码。
class Class2
{
static void Main(string[] args)
{
string MyBatchFile = "C:\Users\Documents\FileWatcherDocuments\Test.bat";
string testdata = "watcherprogram";
var process = new Process
{
StartInfo =
{
Arguments = String.Format("{0}", testdata)
}
};
process.StartInfo.FileName = MyBatchFile;
bool b = process.Start();
}
}
}
我的Test.bat代码很简单。
echo The filename should be passed as a cmd line arg %1 >> fileWatcherOutput.log
输出
The filename should be passed as a cmd line arg watcherprogram.
但文件" filewatcherOutput.log"没有被创建。它是在我从命令提示符执行时创建的,而不是由C#执行的。
任何帮助都将被指定。
提前致谢。
答案 0 :(得分:0)
啊......明白了。 我不知道为什么,但改变我的批处理文件并提供完整的文件路径完成了我的工作。
将我的批处理文件更改为。 echo文件名应作为cmd行传递arg%1>> C:\ Users \ Documents \ FileWatcherDocuments \ fileWatcherOutput.log
暂停