- Command-Line Arguments (C# Programming Guide)
- Example
- Использование аргументов командной строки для Терминала Windows Using command-line arguments for Windows Terminal
- Синтаксис командной строки Command line syntax
- Параметры и команды Options and commands
- Примеры аргументов командной строки Command line argument examples
- Открыть новый экземпляр профиля Open a new profile instance
- Назначить каталог Target a directory
- Несколько вкладок Multiple tabs
- Несколько панелей Multiple panes
- Заголовок вкладки (предварительная версия) Tab title (Preview)
- Фокус вкладки Tab focus
- Примеры нескольких команд из PowerShell Examples of multiple commands from PowerShell
- Параметры с одинарными кавычками Single quoted parameters
- Экранированные кавычки Escaped quotes
- Использование start Using start
Command-Line Arguments (C# Programming Guide)
You can send arguments to the Main method by defining the method in one of the following ways:
Main method code | Main signature |
---|---|
No return value, no use of await | static void Main(string[] args) |
Return value, no use of await | static int Main(string[] args) |
No return value, uses await | static async Task Main(string[] args) |
Return value, uses await | static async Task Main(string[] args) |
If the arguments are not used, you can omit args from the method signature for slightly simpler code:
Main method code | Main signature |
---|---|
No return value, no use of await | static void Main() |
Return value, no use of await | static int Main() |
No return value, uses await | static async Task Main() |
Return value, uses await | static async Task Main() |
To enable command-line arguments in the Main method in a Windows Forms application, you must manually modify the signature of Main in program.cs. The code generated by the Windows Forms designer creates a Main without an input parameter. You can also use Environment.CommandLine or Environment.GetCommandLineArgs to access the command-line arguments from any point in a console or Windows application.
The parameter of the Main method is a String array that represents the command-line arguments. Usually you determine whether arguments exist by testing the Length property, for example:
The args array cannot be null. So, it’s safe to access the Length property without null checking.
You can also convert the string arguments to numeric types by using the Convert class or the Parse method. For example, the following statement converts the string to a long number by using the Parse method:
It is also possible to use the C# type long , which aliases Int64 :
You can also use the Convert class method ToInt64 to do the same thing:
For more information, see Parse and Convert.
Example
The following example shows how to use command-line arguments in a console application. The application takes one argument at run time, converts the argument to an integer, and calculates the factorial of the number. If no arguments are supplied, the application issues a message that explains the correct usage of the program.
To compile and run the application from a command prompt, follow these steps:
Paste the following code into any text editor, and then save the file as a text file with the name Factorial.cs.
From the Start screen or Start menu, open a Visual Studio Developer Command Prompt window, and then navigate to the folder that contains the file that you just created.
Enter the following command to compile the application.
If your application has no compilation errors, an executable file that’s named Factorial.exe is created.
Enter the following command to calculate the factorial of 3:
The command produces this output: The factorial of 3 is 6.
When running an application in Visual Studio, you can specify command-line arguments in the Debug Page, Project Designer.
Использование аргументов командной строки для Терминала Windows Using command-line arguments for Windows Terminal
Вы можете использовать wt.exe для открытия нового экземпляра Терминала Windows из командной строки. You can use wt.exe to open a new instance of Windows Terminal from the command line. Кроме того, также можно использовать псевдоним выполнения wt . You can also use the execution alias wt instead.
Если вы создали Терминал Windows из исходного кода, приведенного на сайте GitHub, эту сборку можно открыть с помощью команды wtd.exe или wtd . If you built Windows Terminal from the source code on GitHub, you can open that build using wtd.exe or wtd .
Синтаксис командной строки Command line syntax
Командная строка wt принимает два типа значений: параметры и команды. The wt command line accepts two types of values: options and commands. Параметры — это список флагов и других параметров, которые могут управлять поведением командной строки wt в целом. Options are a list of flags and other parameters that can control the behavior of the wt command line as a whole. Команды представляют собой действие или список действий, разделенных точкой с запятой, которые необходимо реализовать. Commands provide the action, or list of actions separated by semicolons, that should be implemented. Если команда не указана, по умолчанию используется new-tab . If no command is specified, then the command is assumed to be new-tab by default.
Чтобы отобразить справочное сообщение со списком доступных аргументов командной строки, введите wt -h , wt —help , wt -? или wt /? . To display a help message listing the available command-line arguments, enter: wt -h , wt —help , wt -? , or wt /? .
Параметры и команды Options and commands
Ниже приведен полный список поддерживаемых команд и параметров для командной строки wt . Below is the full list of supported commands and options for the wt command line.
Параметр Option | Описание Description |
---|---|
—help , -h , -? , /? —help , -h , -? , /? | Отображает справочное сообщение. Displays the help message. |
—maximized , -M —maximized , -M | Запускает терминал в развернутом режиме. Launches the terminal maximized. |
—fullscreen , -F —fullscreen , -F | Запускает терминал в полноэкранном режиме. Launches the terminal as full screen. |
—maximized , -M и —fullscreen , -F доступны только в предварительной версии Терминала Windows. —maximized , -M and —fullscreen , -F are only available in Windows Terminal Preview.
Команда Command | Параметры Parameters | Описание Description |
---|---|---|
new-tab | —profile, -p profile-name , —startingDirectory, -d starting-directory , commandline , —title —profile, -p profile-name , —startingDirectory, -d starting-directory , commandline , —title | Создает новую вкладку. Creates a new tab. |
split-pane | -H, —horizontal , -V, —vertical , —profile, -p profile-name , —startingDirectory, -d starting-directory , commandline , —title -H, —horizontal , -V, —vertical , —profile, -p profile-name , —startingDirectory, -d starting-directory , commandline , —title | Разделяет новую панель. Splits a new pane. |
focus-tab | —target, -t tab-index | Выделяет определенную вкладку. Focuses on a specific tab. |
Примеры аргументов командной строки Command line argument examples
Команды могут различаться в зависимости от используемой командной строки. Commands may vary slightly depending on which command line you’re using.
Открыть новый экземпляр профиля Open a new profile instance
Чтобы открыть новый экземпляр терминала (в этом случае команда откроет профиль с именем Ubuntu-18.04), введите To open a new terminal instance, in this case the command will open the profile named «Ubuntu-18.04», enter:
Псевдонимы выполнения не работают в дистрибутивах WSL. Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe . If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe . Параметр /c указывает, что CMD должен завершить работу после выполнения. The /c option tells CMD to terminate after running.
С помощью флажка -p можно указать профиль Терминала Windows, который необходимо открыть. The -p flag is used to specify the Windows Terminal profile that should be opened. Замените Ubuntu-18.04 именем любого установленного профиля терминала. Substitute «Ubuntu-18.04» with the name of any terminal profile that you have installed. При этом всегда будет открываться новое окно. This will always open a new window. В Терминале Windows пока нельзя открывать новые вкладки или панели в имеющемся экземпляре. Windows Terminal is not yet capable of opening new tabs or panes in an existing instance.
Назначить каталог Target a directory
Чтобы указать папку, которая будет использоваться в качестве начального каталога для консоли (в данном случае каталог d:), введите: To specify the folder that should be used as the starting directory for the console, in this case the d:\ directory, enter:
Псевдонимы выполнения не работают в дистрибутивах WSL. Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe . If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe . Параметр /c указывает, что CMD должен завершить работу после выполнения. The /c option tells CMD to terminate after running.
Несколько вкладок Multiple tabs
Чтобы открыть новый экземпляр терминала с несколькими вкладками, введите: To open a new terminal instance with multiple tabs, enter:
В PowerShell для разделения инструкций используется точка с запятой (;). PowerShell uses a semicolon ; to delimit statements. Для интерпретации точки с запятой (;) в качестве разделителя команд для аргументов командной строки wt необходимо экранировать символы точки с запятой с помощью обратных апострофов. To interpret a semicolon ; as a command delimiter for wt command-line arguments, you need to escape semicolon characters using backticks. В PowerShell также имеется оператор прекращения анализа (—%), который дает команду остановить любую интерпретацию и выполнить передачу буквально. PowerShell also has the stop parsing operator (—%), which instructs it to stop interpreting anything after it and just pass it on verbatim.
Псевдонимы выполнения не работают в дистрибутивах WSL. Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe . If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe . Параметр /c указывает, что CMD должен завершить работу после выполнения. The /c option tells CMD to terminate after running.
Чтобы открыть новый экземпляр терминала с несколькими вкладками (в данном случае профиль Командной строки и профиль PowerShell), введите: To open a new terminal instance with multiple tabs, in this case a Command Prompt profile and a PowerShell profile, enter:
В PowerShell для разделения инструкций используется точка с запятой (;). PowerShell uses a semicolon ; to delimit statements. Для интерпретации точки с запятой (;) в качестве разделителя команд для аргументов командной строки wt необходимо экранировать символы точки с запятой с помощью обратных апострофов. To interpret a semicolon ; as a command delimiter for wt command-line arguments, you need to escape semicolon characters using backticks. В PowerShell также имеется оператор прекращения анализа (—%), который дает команду остановить любую интерпретацию и выполнить передачу буквально. PowerShell also has the stop parsing operator (—%), which instructs it to stop interpreting anything after it and just pass it on verbatim.
Псевдонимы выполнения не работают в дистрибутивах WSL. Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe . If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe . Параметр /c указывает, что CMD должен завершить работу после запуска. Сочетание косой черты и точки с запятой \; разделяет команды. The /c option tells CMD to terminate after running and the \; forward-slash + semicolon separates commands.
Несколько панелей Multiple panes
Чтобы открыть новый экземпляр терминала с одной вкладкой, содержащей три панели с профилем Командной строки, профилем PowerShell и профилем по умолчанию с командной строкой WSL, введите: To open a new terminal instance with one tab containing three panes running a Command Prompt profile, a PowerShell profile, and your default profile running a WSL command line, enter:
В PowerShell для разделения инструкций используется точка с запятой (;). PowerShell uses a semicolon ; to delimit statements. Для интерпретации точки с запятой (;) в качестве разделителя команд для аргументов командной строки wt необходимо экранировать символы точки с запятой с помощью обратных апострофов. To interpret a semicolon ; as a command delimiter for wt command-line arguments, you need to escape semicolon characters using backticks. В PowerShell также имеется оператор прекращения анализа (—%), который дает команду остановить любую интерпретацию и выполнить передачу буквально. PowerShell also has the stop parsing operator (—%), which instructs it to stop interpreting anything after it and just pass it on verbatim.
Псевдонимы выполнения не работают в дистрибутивах WSL. Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe . If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe . Параметр /c указывает, что CMD должен завершить работу после запуска. Сочетание косой черты и точки с запятой \; разделяет команды. The /c option tells CMD to terminate after running and the \; forward-slash + semicolon separates commands.
Флажок -H (или —horizontal ) указывает, что области должны разделяться по горизонтали. The -H flag (or —horizontal ) indicates that you would like the panes to be split horizontally. Флажок -V (или —vertical ) указывает, что панели должны разделяться по вертикали. The -V flag (or —vertical ) indicates that you would like the panes split vertically.
Заголовок вкладки (предварительная версия) Tab title (Preview)
Чтобы открыть новый экземпляр терминала с пользовательскими заголовками вкладок, используйте аргумент —title . To open a new terminal instance with custom tab titles, use the —title argument. Чтобы задать заголовок для каждой вкладки при открытии двух вкладок, введите следующее: To set the title of each tab when opening two tabs, enter:
Псевдонимы выполнения не работают в дистрибутивах WSL. Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe . If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe . Параметр /c указывает, что CMD должен завершить работу после запуска. Сочетание косой черты и точки с запятой \; разделяет команды. The /c option tells CMD to terminate after running and the \; forward-slash + semicolon separates commands.
Эта функция доступна только в предварительной версии Терминала Windows. This feature is only available in Windows Terminal Preview.
Фокус вкладки Tab focus
Чтобы открыть новый экземпляр терминала с определенной вкладкой в фокусе, установите флажок -t (или —target ), а также индекс вкладки. To open a new terminal instance with a specific tab in focus, use the -t flag (or —target ), along with the tab-index number. Чтобы открыть профиль по умолчанию на первой вкладке и профиль Ubuntu-18.04 в фокусе на второй вкладке ( -t 1 ), введите: To open your default profile in the first tab and the «Ubuntu-18.04» profile focused in the second tab ( -t 1 ), enter:
Псевдонимы выполнения не работают в дистрибутивах WSL. Execution aliases do not work in WSL distributions. Если вы хотите использовать wt.exe из командной строки WSL, его можно создать непосредственно из CMD, запустив cmd.exe . If you want to use wt.exe from a WSL command line, you can spawn it from CMD directly by running cmd.exe . Параметр /c указывает, что CMD должен завершить работу после запуска. Сочетание косой черты и точки с запятой \; разделяет команды. The /c option tells CMD to terminate after running and the \; forward-slash + semicolon separates commands.
Примеры нескольких команд из PowerShell Examples of multiple commands from PowerShell
В Терминале Windows используется символ точки с запятой ; в качестве разделителя команд в командной строке wt . Windows Terminal uses the semicolon character ; as a delimiter for separating commands in the wt command line. К сожалению, PowerShell также использует ; в качестве разделителя команд. Unfortunately, PowerShell also uses ; as a command separator. Чтобы решить эту проблему, воспользуйтесь следующими рекомендациями по запуску нескольких команд wt из PowerShell. To work around this, you can use the following tricks to run multiple wt commands from PowerShell. Во всех приведенных ниже примерах создается окно терминала с тремя панелями: одна с Командной строкой, вторая с PowerShell, а третья с WSL. In all the following examples, a new terminal window is created with three panes — one running Command Prompt, one with PowerShell, and the last one running WSL.
В следующих примерах для запуска wt используется команда Start-Process . The following examples use the Start-Process command to run wt . Дополнительные сведения о причинах использования Start-Process в терминале см. в разделе Использование start. For more information on why the terminal uses Start-Process , see Using start below.
Параметры с одинарными кавычками Single quoted parameters
В этом примере параметры wt заключаются в одинарные кавычки ( ‘ ). In this example, the wt parameters are wrapped in single quotes ( ‘ ). Этот синтаксис полезен при отсутствии вычислений. This syntax is useful if nothing is being calculated.
Экранированные кавычки Escaped quotes
При передаче значения, содержащегося в переменной, в командную строку wt используйте следующий синтаксис: When passing a value contained in a variable to the wt command line, use the following syntax:
Обратите внимание на использование ` для экранирования двойных кавычек ( » ) вокруг «Windows PowerShell» в параметре -p для параметра split-pane . Note the usage of ` to escape the double-quotes ( » ) around «Windows PowerShell» in the -p parameter to the split-pane parameter.
Использование start Using start
Во всех приведенных выше примерах start явно используется для запуска терминала. All the above examples explicitly used start to launch the terminal.
В следующих примерах start не используется для запуска командной строки. The following examples do not use start to run the command line. Вместо этого можно воспользоваться двумя другими методами экранирования командной строки: Instead, there are two other methods of escaping the command line:
- Экранирование лишь точки с запятой, в результате чего PowerShell проигнорирует их и передаст непосредственно в wt . Only escaping the semicolons so that PowerShell will ignore them and pass them straight to wt .
- Использование —% , в результате чего PowerShell будет обрабатывать оставшуюся часть командной строки как аргументы для приложения. Using —% , so PowerShell will treat the rest of the command line as arguments to the application.
В обоих примерах Терминал Windows создаст окно, правильно обработав все указанные аргументы командной строки. In both of these examples, the newly created Windows Terminal window will create the window by correctly parsing all the provided command-line arguments.
Однако в настоящее время эти методы не рекомендуемы к использованию, так как PowerShell будет ожидать закрытия созданного окна терминала перед возвратом управления в PowerShell. However, these methods are not recommended currently, as PowerShell will wait for the newly-created terminal window to be closed before returning control to PowerShell. По умолчанию PowerShell всегда ожидает закрытия приложений Магазина Windows (например, Терминала Windows) перед возвратом к командной строке. By default, PowerShell will always wait for Windows Store applications (like Windows Terminal) to close before returning to the prompt. Обратите внимание, что это поведение отличается от поведения средства «Командная строка», которое немедленно возвращается к командной строке. Note that this is different than the behavior of Command Prompt, which will return to the prompt immediately.