我有一个用C sharp(.net)编写的控制台应用程序,它从命令提示符获取一些命令行参数。 现在基于给应用程序的选项它将执行一些操作。 像吼叫一样。
> TestExe.exe Option1 (it will perform action1)
> TestExe.exe Option2 (it will perform action2)
> TestExe.exe Option3 (it will perform action3)
现在我想要的是当用户输入应用程序名称并按Tab键时,用户应该获得所有选项。这将使应用程序用户友好,而不是记住选项。
任何人都可以给我一些方向吗?
答案 0 :(得分:2)
你要求的东西是不可能的。
相反,有四个可执行文件,其中一个是您在上面描述的程序。然后,您有另外三个,每个都代表三个选项之一(三个批处理文件也可以工作,并且可能更容易创建/维护)。其他三个只使用适当的选项执行第一个。
现在,由于你有四个真实文件,使用tab的命令完成将起作用 - 除了完成一个参数(再次,不可能),shell将完成命令本身(一个真实的文件)。
答案 1 :(得分:0)
我认为常见的直接解决方案是为'添加支持?'和'帮助'参数,所以当用户不知道他应该为所需的动作提供哪个参数时,他只需键入TestExe.exe /?或TestExe.exe / help并获取列表。 如果用户在没有参数的情况下运行程序,那么一个好的做法也是显示相同的图例。
答案 2 :(得分:0)
您可以为您的exe创建一个PowerShell包装器,它或多或少会做您想要的。
[CmdletBinding()]
param(
[Parameter()]
[ValidateSet('Option1','Option2','Option3')]
[string]$Option
)
TestExe.exe $Option
如果您将该脚本保存为TestScript.ps1
,则可以在PowerShell提示符下键入TestScript -Option
,然后按Tab键查看这三个选项。
(您可以将脚本中的Option
重命名为您想要的任何内容。)