我正在编写一个flesch索引计算器,我希望能够使用控制台命令和.exe本身启动我的程序。我想用命令fleschIndexCalc.exe -f "path of the file"
在控制台读入.txt文件,然后可以选择英文文本的参数-e
或德文文本-g
的计算公式。检查控制台中是否已经选择参数
当我用控制台命令启动它时:我自己输入参数。
当我用.exe启动它时:该程序要求的语言,我只需要编写g
或e
并按enter
。
现在我的问题:我怎样才能告诉我的程序,而开始与控制台,我已经选择了语言,所以它不会再问我,就像我用.exe启动它?
这里就是我的了:
(如果你需要更多的代码从我FleschScore.cs问它:))
namespace Flesch_Reading_Ease
{
public class Program
{
public static void Main(string[] args)
{
string fileName = string.Empty;
string[] parameters = new string[] { "-f", "-g", "-e" };
Console.WriteLine("Flesch Reading Ease");
Console.WriteLine("");
if (args.Length == 0)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("error!");
Console.ResetColor();
Console.WriteLine("no file found!");
Console.WriteLine("");
Console.Write("press any key...");
Console.ReadKey();
return;
}
foreach (string arg in args)
{
//------- WHAT TO WRITE HERE? -------
}
fileName = args[0];
FleschScore fs = new FleschScore(fileName);
fs.Run();
}
}
}
我的方法来选择不同的语言看起来是这样的:
private void SelectLanguage()
{
do
{
Console.WriteLine("choose language:");
Console.WriteLine("- german(g)");
Console.WriteLine("- english(e)");
string lang = Console.ReadLine();
switch (lang.ToUpper())
{
case "D":
_selectedLanguage = Language.German;
break;
case "E":
_selectedLanguage = Language.English;
break;
default:
_selectedLanguage = Language.Undefined;
Console.WriteLine("wrong input. Enter viable letter.");
Console.WriteLine("");
break;
}
} while (_selectedLanguage == Language.Undefined);
}
如果你启动它的* .EXE您args.Length == 2,如果你从控制台启动您的args.Length> 2,如果我得到你的权利 –
我不能看到你的程序要求语言选项。 – Steve
好点@Steve ...如果你以exe开头,你如何得到文件路径? –