Аргументы командной строки windows

Параметры командной строки

Параметры командной строки

С и — компилируемый язык. После сборки программа представляет собой исполняемый файл (мы не рассматриваем создание динамических библиотек, драйверов и т.д.). Наши программы очень простые и не содержат библиотек времени выполнения (Runtime libraries), поэтому могут быть перенесены на компьютер с такой же операционной системой (и подобной архитектурой) и там запущены.

Программа во время запуска может принимать параметры. Они являются аргументами функции main. Общий вид функции main следующий

Первым аргументом argc является число переданных функции параметров. Второй аргумент – массив строк – собственно сами параметры. Так как параметры у функции могут быть любыми, то они передаются как строки, и уже сама программа должна их разбирать и приводить к нужному типу.

Первым аргументом (argv[0]) всегда является имя программы. При этом имя выводится в зависимости от того, откуда была запущена программа.

Первый аргумент — это имя программы

Теперь научимся немного работать с командной строкой. Это понадобится для того, чтобы передавать аргументы нашей программе. Сочетание клавиш Win+R вызывает окно «Выполнить». Наберите в нём cmd и вы откроете командную строку. Также можно найти cmd.exe поиском в меню Пуск. В юникс-подобных операционных системах можно вызвать программу «терминал».

Мы не будем изучать сколько-нибудь много команд. Только те, которые понадобятся в работе.

Стандартная для всех операционных систем команда cd осуществляет переход к нужной папке. Существует два зарезервированных имени — . (точка) и .. (две точки). Точка — это имя текущей папки.

никуда не переходит

.. обращение к родительской папке

переход в родительскую папку

Для перехода по нужному пишется cd адрес. Например, нужно перейти на windows в папку C:\Windows\System32

В линуксе если нужно перейти в папку /var/mysql

Если путь содержит пробелы, то он пишется в двойных кавычках

cd «D:\Docuents and Settings\Prolog»

Терминал имеет следующие полезные особенности: если нажать стрелку вверх, по появится предыдущая выполненная команда. Если нажать tab, то терминал попытается дополнить строку до известной ему команды, или дополнить путь, перебирая все папки и файлы в текущей папке.
Наберите cd C:\
нажимайте tab и смотрите, что происходит.

Ещё одна важная команда dir на windows и ls на linux, выводит на консоль содержимое текущей папки (той папки, в которой вы находитесь в данный момент)

Ваша программа вернула своё полное имя. Перейдите в папку, где располагается ваша программа и посмотрите её содержимое

Переходим в папку, в которой располагается наша программа и смотрим содержимое

Теперь, после того, как мы перешли в нашу папку, можно выполнить нашу программу. Для этого наберите её имя.

Вызов программы из командной строки

Заметьте — имя изменилось. Так как программа вызывается из своей папки, то выводится относительно имя. Теперь изменим программу и сделаем так, чтобы она выводила все аргументы. которые ей переданы.

Соберите проект. Перед сборкой убедитесь, что программа закрыта. Теперь вызовите программу, передав ей разные аргументы. Для этого напишите имя программы и через пробел аргументы

Передача аргументов программе

Давайте теперь напишем программу, которая получает два аргумента числа и выводит их сумму

Читайте также:  Посмотреть память командная строка windows

Соберём и вызовем

Функция принимает в качестве аргументов два числа

Таким образом работает большинство программ. Кликая на ярлык, вы вызываете программу, на которую он ссылается. Большинство программ также принимают различные аргументы. Например, можно вызвать браузер firefox из командной строки и передать аргументы
firefox.exe «www.mozilla.org» «learnc.info» и он сразу же откроет в двух вкладках сайты по указанным адресам.

Многие стандартные команды также имеют параметры. В windows принято, что они начинаются с прямого слеша, в юниксе с минуса или двух минусов. Например

выводит только папки, а в терминале linux

ls -l выводит все файлы и папки с указанием атрибутов

Для просмотра дополнительных команд windows наберите в командной строке help или смотрите руководство (его легко найти в интернете). Для линукса команд и их опций гораздо больше, а некоторые из них являются самостоятельными языками программирования, так что стоит выучить хотя бы минимальный набор и их опции.

Аргументы командной строки (Руководство по программированию на C#) Command-Line Arguments (C# Programming Guide)

Вы можете передавать аргументы в метод Main , определив метод одним из следующих способов: You can send arguments to the Main method by defining the method in one of the following ways:

Код метода Main Main method code Сигнатура Main Main signature
Без возвращаемого значения, без использования await No return value, no use of await static void Main(string[] args)
С возвращаемым значением, без использования await Return value, no use of await static int Main(string[] args)
Без возвращаемого значения, с использованием await No return value, uses await static async Task Main(string[] args)
С возвращаемым значением, с использованием await Return value, uses await static async Task Main(string[] args)

Если аргументы не используются, можно опустить args в сигнатуре метода, чтобы немного упростить код: If the arguments are not used, you can omit args from the method signature for slightly simpler code:

Код метода Main Main method code Сигнатура Main Main signature
Без возвращаемого значения, без использования await No return value, no use of await static void Main()
С возвращаемым значением, без использования await Return value, no use of await static int Main()
Без возвращаемого значения, с использованием await No return value, uses await static async Task Main()
С возвращаемым значением, с использованием await Return value, uses await static async Task Main()

Чтобы включить аргументы командной строки в методе Main в приложении Windows Forms, необходимо вручную изменить сигнатуру Main в файле program.cs. 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. Код, созданный с помощью конструктора Windows Forms, создает Main без входного параметра. The code generated by the Windows Forms designer creates a Main without an input parameter. Также можно использовать Environment.CommandLine или Environment.GetCommandLineArgs для доступа к аргументам командной строки из любой точки в консоли или приложении Windows. You can also use Environment.CommandLine or Environment.GetCommandLineArgs to access the command-line arguments from any point in a console or Windows application.

Параметр метода Main — это массив String, представляющий аргументы командной строки. The parameter of the Main method is a String array that represents the command-line arguments. Как правило, определить, существуют ли аргументы, можно, проверив свойство Length , например: Usually you determine whether arguments exist by testing the Length property, for example:

Массив args не может иметь значение NULL. The args array cannot be null. Поэтому доступ к свойству Length можно получить без проверки значения NULL. So, it’s safe to access the Length property without null checking.

Строковые аргументы также можно преобразовать в числовые типы с помощью класса Convert или метода Parse . You can also convert the string arguments to numeric types by using the Convert class or the Parse method. Например, следующая инструкция преобразует string в число long с помощью метода Parse: For example, the following statement converts the string to a long number by using the Parse method:

Можно также использовать тип C# long , который является псевдонимом Int64 : It is also possible to use the C# type long , which aliases Int64 :

Кроме того, можно использовать метод класса Convert , ToInt64 : You can also use the Convert class method ToInt64 to do the same thing:

Дополнительные сведения см. в разделах Parse и Convert. 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:

Вставьте следующий код в любой текстовый редактор и сохраните файл как текстовый файл с именем Factorial.cs. Paste the following code into any text editor, and then save the file as a text file with the name Factorial.cs.

На начальном экране или в меню Пуск откройте окно командной строки разработчика Visual Studio и перейдите к папке, содержащей файл, который вы только что создали. 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.

Если для приложения не выдаются ошибки компиляции, создается исполняемый файл с именем Factorial.exe. If your application has no compilation errors, an executable file that’s named Factorial.exe is created.

Введите приведенную ниже команду для вычисления факториала числа 3: Enter the following command to calculate the factorial of 3:

Код создает следующие выходные данные: The factorial of 3 is 6. The command produces this output: The factorial of 3 is 6.

При выполнении приложения в Visual Studio аргументы командной строки можно указать на странице «Отладка» в конструкторе проектов. When running an application in Visual Studio, you can specify command-line arguments in the Debug Page, Project Designer.

Командная строка и её команды

Где находится командная строка?

Основной файл командной строки — консоль cmd.exe переводящий команды пользователя в понятный системе вид, находится в папке с установленной ОС по пути: <буква_системного_диска>:\WINDOWS\system32\cmd.exe

Как запустить / открыть / вызвать командную строку?

Данные методы запуска командный строки актуальны для всех версий, в том числе и тех, которые я рассматриваю на своем сайте — windows XP , 7 , 8

1) Пуск — Все программы — Стандартные — Командная строка

2) Пуск — Выполнить — вводим cmd.exe

3) сочетание клавиш Win + R — вводим cmd

4) Запуск из системной папки: <буква_системного_диска>:\WINDOWS\system32\cmd.exe

Для того, чтобы запустить командную строку от имени Администратора, подойдет 1 и 4 способ, нужно на ярлыке щёлкнуть ПКМ и выбрать в меню «Запуск от имени Администратора».

Команды / параметры / ключи командной строки .
Узнать команды командной строки можно прям в ней же, набрав help и нажав клавишу Enter (после окончания ввода всех команд нужно использовать именно Enter (ВВОД) ).

Вдаваться слишком глубоко не буду, потому что для этого лучше писать отдельную статью. Приведу лишь небольшой пример использования командной строки.
Допустим у меня на диске E находится папка 123 , а в ней текстовый файл test.txt .
Вот теперь я хочу сделать этот файл скрытым, не заходя на этот диск и не «видя» этого файла с папкой.
Команда, отвечающая за атрибут «Системный» — это attrib. И у неё существуют свои атрибуты (уже команды). Можете даже посмотреть на скрине выше, я там показывал именно её на примере.
Из всех её атрибутов мне нужны только два — это его установка и сам атрибут. За это отвечают + и s.
Итак, моя команда будет следующей: attrib +s e:/123/test.txt . Вот так будет выглядеть правильный результат:

Ой. Только заметил что вместо Скрытый я сделал его Системным, а ещё удивляюсь почему он не пропал в папке. Я специально не стал удалять скрины и редактировать статью для того, чтобы показать Вам как можно исправить такую оплошность (как я сделал). Тоже хорошая информация.

Ну и напоследок:
Как редактировать текст в окне командной строки?
Дело в том, что стандартные методы с помощью сочетаний клавиш Ctrl+C и Ctrl+V в командной строке не работают.
Тут нужно пользоваться ПКМ — Правой Кнопкой Мыши.
Для того, чтобы вставить текст в командную строку, просто кликаем ПКМ на любом месте командной строки, затем выбираем Вставить.

Для того, чтобы скопировать часть текста из командной строки можно воспользоваться одним из двух методов:
1) ПКМ — Выделить всё
Выделится весь текст, но можете выделить сразу какой Вам угодно, просто как обычно зажав ЛКМ
2) ПКМ — Пометить
Появится мигающий курсор в начале строки, которым можно управлять «стрелочками» на клавиатуре. И при нажатой кнопке shift выделить текст, управляя так же «стрелками» на клавиатуре. Либо выделаем снова с помощью мыши.

при желании, можете изменить настройки командной строки, выбрав пункт в меню выше «Свойства»

Читайте также:  Archicad rus для mac os
Оцените статью