如何避免重定向输出符号“>”被当作命令行参数(可能是快捷方式)
How to avoid the redirect output sign">"being taken as command line arguments(in a shortcut maybe)
我无法通过调用 Windows 上的快捷方式将标准输出重定向到文件。
直接运行"exe.exe 1 2 1 4 5 6 7 >> log.txt"
,日志文件生成成功
我假设在使用shortcut.lnk时将“>>”符号作为参数,因此它不会生成log.txt
如何正确启动命令或修改程序来实现我想要的?
这是我的代码:
static void Main(string[] args)
{
string acc = "";
string pass = "";
string EmailEnabled = "";
string smtpServer = "";
string sender = "";
string smtpAuth = "";
string receiver = "";
if (args.Length == 7)
{
acc = args[0];
pass = args[1];
EmailEnabled = args[2];
smtpServer = args[3];
sender = args[4];
smtpAuth = args[5];
receiver = args[6];
}
else if (args[2] == "0")
{
acc = args[0];
pass = args[1];
EmailEnabled = args[2];
}
else
{
Console.WriteLine("command line arguments are wrong");
return;
}
}
截图:
in this way,the">"is taken as an argument
in another way,the">" funtions normal as redirect sign
我认为这个问题与 Windows 相关,而不是 C#
所以要重定向快捷方式
@Flydog57 的评论
cmd /c "file_shortcut.lnk" bla bla bla >out.txt
即将推出 C#:
您可以制作第 8 个参数输出文件并重定向标准输出
按照此:
console.setout
可能是这样的:
using (var writer = args.Length>7? new StreamWriter(args[7]) : new StreamWriter(Console.OpenStandardOutput()))
{
Console.SetOut(writer);
//all codes inside
}
我无法通过调用 Windows 上的快捷方式将标准输出重定向到文件。
直接运行"exe.exe 1 2 1 4 5 6 7 >> log.txt"
,日志文件生成成功
我假设在使用shortcut.lnk时将“>>”符号作为参数,因此它不会生成log.txt
如何正确启动命令或修改程序来实现我想要的?
这是我的代码:
static void Main(string[] args)
{
string acc = "";
string pass = "";
string EmailEnabled = "";
string smtpServer = "";
string sender = "";
string smtpAuth = "";
string receiver = "";
if (args.Length == 7)
{
acc = args[0];
pass = args[1];
EmailEnabled = args[2];
smtpServer = args[3];
sender = args[4];
smtpAuth = args[5];
receiver = args[6];
}
else if (args[2] == "0")
{
acc = args[0];
pass = args[1];
EmailEnabled = args[2];
}
else
{
Console.WriteLine("command line arguments are wrong");
return;
}
}
截图:
in this way,the">"is taken as an argument
in another way,the">" funtions normal as redirect sign
我认为这个问题与 Windows 相关,而不是 C# 所以要重定向快捷方式
@Flydog57 的评论
cmd /c "file_shortcut.lnk" bla bla bla >out.txt
即将推出 C#:
您可以制作第 8 个参数输出文件并重定向标准输出
按照此:
console.setout
可能是这样的:
using (var writer = args.Length>7? new StreamWriter(args[7]) : new StreamWriter(Console.OpenStandardOutput()))
{
Console.SetOut(writer);
//all codes inside
}