Visual Studio C#에서 작성되고 컴파일 된 응용 프로그램에 대한 사용자 지정 명령 프롬프트 매개 변수를 만들 수 있습니까? 내 응용 프로그램 사용자가 명령 줄을 사용하여 작업을 수행 할 수 있기를 바랍니다.사용자 지정 CMD 명령
예를 들어, 사용자가 parameter
에 할당 된 코드를 수행하려면 CMD application_name.exe -parameter
을 입력합니다.
Visual Studio C#에서 작성되고 컴파일 된 응용 프로그램에 대한 사용자 지정 명령 프롬프트 매개 변수를 만들 수 있습니까? 내 응용 프로그램 사용자가 명령 줄을 사용하여 작업을 수행 할 수 있기를 바랍니다.사용자 지정 CMD 명령
예를 들어, 사용자가 parameter
에 할당 된 코드를 수행하려면 CMD application_name.exe -parameter
을 입력합니다.
예, 여기가 string[] args
인 경우는 Program.cs
입니다.
Visual Studio의 콘솔 응용 프로그램 템플릿에서 응용 프로그램을 만드는 것이 가장 쉬운 방법입니다.
이 작업을 수행하려면Console Application
프로젝트
이렇게하면 모든 참조가 필요하고 Program.cs
클래스 제대로 설정되었습니다. 입력 할 수 있습니다
static void Main(string[] args)
{
if (args.Length <= 0) //Checking the Length helps avoid NullReferenceException at args[0]
{
//Default behavior of your program without parameters
}
else
{
if (args[0] == "/?")
{
//Show Help Manual
}
if (args[0] == "/d")
{
//Do something else
}
//etc
}
}
그런 다음 명령에서 사용자에게 메시지를 표시 : 여기
는 명령 줄에서 매개 변수를 허용하기 위해 프로그램의
Main
방법으로 할 수있는 일의 사이비의 예입니다
: 제거 답변에서 언급 한 바와 같이
yourProgamName.exe /?
yourProgramName.exe /d
는 여기에 복잡한 명령 줄 옵션을 처리하기위한 좋은 라이브러리가
적어도 하나의 arg가 전달되었는지 확인하고 싶을 수도 있습니다. 첫 번째 if 문을'if (args.Length == 0 || args [0] == "/?")'로 변경하면 '/?'를하거나 아무런 인수도 사용하지 않으면 도움이됩니다. –
인수 및 인수 구문 분석을 더 잘/더 쉽게 지원하려면 NDesk 옵션을 확인하십시오. http://www.ndesk.org/Options – Lloyd
@Lloyd 예, 알고 있습니다. 그러나 OP가있는 것처럼 간단한 예를 계속 유지할 것이라고 생각했습니다. 초보자. –
"args"매개 변수는 기본 메소드에서 사용됩니다.
사용자가 "application_name.exe -parameter"를 실행하면 args [0]은 "-parameter"가됩니다. 이를 사용하여 응용 프로그램을 올바른 코드로 분기 할 수 있습니다.
많은 명령 행 매개 변수/인수를 처리하기위한 예제와 좋은 라이브러리를 보려면 this question을 확인하십시오.
그리고 어떤 이유로 main()
에 액세스 할 수없는 경우 Environment.CommandLine
에서 명령 줄을 가져올 수 있습니다.
물론 이것을 수행 할 수있는 기본 방법이 있지만 [docopt.net] (https://github.com/docopt/docopt.net)을 사용하고 싶습니다. 너겟 (Nuget)에서 사용할 수 있습니다. –