Запускstart

T

taskkill — завершение одного или нескольких процессов.

tasklist — показывает запущенные программы и процессы выполняемые в данный момент.

tcmsetup — установка клиента телефонии.

tftp — обмен файлами с удаленным компьютером, на котором запущена служба TFTP.

time — просмотр или изменение текущего времени.

title — назначение заголовка окна интерпретатора.

tlntadmn — удаленное управление компьютером.

tracert — трассировка маршрута к указанному узлу.

tracerpt — обрабатывает двоичные файлы журнала отслеживания событий или потоки данных.

tracert6 — версия tracert для протокола IPv6.

tree — вывод структуры диска или каталога в виде дерева.

tscon — присоединяет сеанс пользователя к сеансу терминала.

tsdiscon — отключение сеанса терминала.

tskill — прекращение процесса.

tsshutdn — завершение работы сервера в установленном порядке.

type — вывод на экране содержимого текстовых файлов.

typeperf — выводит сведения о производительности на экран или в журнал.

R

rasdial — интерфейс связи из командной строки для клиента службы удалённого доступа.

rcp — обмен файлами с компьютером, на котором выполняется служба RCP.

recover — восстановление сохранившихся данных на поврежденном диске.

reg — редактирование системного реестра через командную строку.

regsvr32 — сервер регистрации.

relog — создает новый журнал производительности из уже имеющего.

rem — помещение комментария в пакетный файл.

ren — переименование файлов и папок.

rename — переименование файлов и папок.

replace — замена файлов.

reset — утилита сброса служб терминалов.

rexec — выполнение команд на удаленных узлах на которых выполняется служба rexec.

rd — удаление папки.

rmdir — удаление папки.

route — обработка таблиц сетевых маршрутов.

rsh — выполнение команд на удаленных узлах, на которых запущена служба RSH.

rsm — управление ресурсами носителей с помощью службы «Съемные ЗУ».

runas — использование приложений от имени другого пользователя.

rundll32 — запуск стандартных команд-функций заложенных в dll.

rwinsta — сброс значений подсистем оборудования и программ сеанса в начальное состояние.

СинтаксисSyntax

ПараметрыParameters

ПараметрParameter ОписаниеDescription
Включает или выключает функцию вывода команд.Turns on or off the command echoing feature. Команда по умолчанию включена.Command echoing is on by default.
Задает текст, отображаемый на экране.Specifies the text to display on the screen.
/?/? Отображение справки в командной строке.Displays help at the command prompt.

ПримечанияRemarks

  • Команда особенно полезна при отключенном эхо .The command is particularly useful when echo is turned off. Чтобы отобразить сообщение, которое содержит несколько строк без отображения команд, можно включить несколько команд после команды echo off в пакетной программе.To display a message that is several lines long without displaying any commands, you can include several commands after the echo off command in your batch program.

  • После выключения эхо Командная строка не отображается в окне командной строки.After echo is turned off, the command prompt doesn’t appear in the Command Prompt window. Чтобы отобразить командную строку, введите команду echo on.To display the command prompt, type echo on.

  • Если используется в пакетном файле, Включение и вывод не влияют на параметр в командной строке.If used in a batch file, echo on and echo off don’t affect the setting at the command prompt.

  • Чтобы предотвратить вывод определенной команды в пакетном файле, вставьте знак перед командой.To prevent echoing a particular command in a batch file, insert an sign in front of the command. Чтобы предотвратить вывод всех команд в пакетном файле, включите команду echo off в начале файла.To prevent echoing all commands in a batch file, include the echo off command at the beginning of the file.

  • Чтобы отобразить символ канала ( ) или перенаправления ( или ) при использовании эха, используйте знак крышки ( ) непосредственно перед символом канала или перенаправления.To display a pipe () or redirection character ( or ) when you are using echo, use a caret () immediately before the pipe or redirection character. Например,, или ).For example, , , or ). Чтобы отобразить курсор, введите две крышки подряд ( ).To display a caret, type two carets in succession ().

ПримерыExamples

Чтобы отобразить текущее значение echo , введите:To display the current echo setting, type:

Чтобы вывести на экран пустую строку, введите:To echo a blank line on the screen, type:

Примечание

Не включайте пробел перед точкой.Don’t include a space before the period. В противном случае вместо пустой строки отображается точка.Otherwise, the period appears instead of a blank line.

Чтобы запретить вывод команд в командной строке, введите:To prevent echoing commands at the command prompt, type:

Примечание

Когда эхо отключено, Командная строка не отображается в окне командной строки.When echo is turned off, the command prompt doesn’t appear in the Command Prompt window. Чтобы снова отобразить командную строку, введите команду echo on.To display the command prompt again, type echo on.

Чтобы предотвратить отображение на экране всех команд в пакетном файле (включая команду echo off ), в первой строке типа пакетного файла:To prevent all commands in a batch file (including the echo off command) from displaying on the screen, on the first line of the batch file type:

Команду echo можно использовать как часть оператора If .You can use the echo command as part of an if statement. Например, чтобы найти в текущем каталоге любой файл с расширением. rpt и вывести сообщение при обнаружении такого файла, введите:For example, to search the current directory for any file with the .rpt file name extension, and to echo a message if such a file is found, type:

Следующий пакетный файл выполняет поиск файлов с расширением txt в текущем каталоге и выводит сообщение с указанием результатов поиска:The following batch file searches the current directory for files with the .txt file name extension, and displays a message indicating the results of the search:

Если при выполнении пакетного файла не найдены TXT-файлы, отображается следующее сообщение:If no .txt files are found when the batch file is run, the following message displays:

Если TXT-файлы найдены при запуске пакетного файла, отображаются следующие выходные данные (в этом примере предполагается, что файлы File1.txt, File2.txt и File3.txt существуют):If .txt files are found when the batch file is run the following output displays (for this example, assume the files File1.txt, File2.txt, and File3.txt exist):

Расшифровка значений

юзер

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

код_доступа

Позволяет присвоить или внести коррективы в код доступа конкретного юзера.

/domain

Действие производится на контроллере основного для указанного устройства домена.

параметры

Позволяет осуществить установку параметров КС. Следует перечислить возможные варианты в таблице ниже.

/active:{no | yes}

Осуществляет блокировку или разрешение (в зависимости от указанного аргумента) учетной записи юзера. В первом случае предусматривается невозможность осуществления подсоединения к ресурсам устройства.

/comment:»информация»

Позволяет ввести комментарий к определенной записи. Не разрешается использовать в качестве поля «информация» более 48 символов.

/countrycode:nnn

Устанавливает код государства, который задает применяемые в ходе выдачи справочные сведения или сообщения об ошибках. Если необходимо указать код по умолчанию, требуется использовать в данном параметре 0

/expires:{{мм/дд/гггг |  дд/мм/гггг | мм,дд  ,гггг} | never}

Указывает дату, после которой запись юзера станет просроченной. В таком случае, будет невозможным использование всех функций. Разрешается применение нескольких вариантов написания даты подобного события. Особым моментом является тот факт, что месяцы можно прописывать не только числами, но и их названиями.

/fullname:»имя»

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

/homedir:путь

Устанавливает главный каталог юзера. Обязательным условием является прописывание того каталога, который имеется на самом деле.

/passwordchg:{yes | no}

Здесь можно задать то, способен ли будет юзер самостоятельно изменять код доступа.

/passwordreq:{yes | no}

Указывает необходимость применения кода доступа для входа в профиль. Следует аккуратно использовать аргумент yes, поскольку в таком случае отсутствует приватность информации.

/profilepath:

Указывает путь до профиля юзера.

/scriptpath:путь

Указывает путь до документа сценария входа.

/times:{день] ,час] | all}

Устанавливает периоды, на протяжении которых юзер может эксплуатировать устройство. Предусматривается большое количество доступных вариантов для настроек данного типа. Если ничего не прописывать, то юзер не сможет выполнить подключение. Значение all устанавливает возможность подсоединения в любое время.

/usercomment:»комментарий»

Создает или изменяет комментарий, принадлежащий к конкретной учетной записи. Чтобы отображение информации было верным, обязательным считается применение кавычек.

/workstations:{название_устройства | *}

Устанавливает рабочие станции для доступа в сеть. Их количество не может превышать восемь штук. Для разделения в перечне требуется использовать символы (,). Разрешается применять символ (*) – это означает доступ с любого устройства.

net view ]

net view /network:nw

Расшифровка значений

название_устройства

Устанавливает название устройства для того, чтобы можно было осуществить вывод находящихся на нем общих ресурсов.

Устанавливает домен и для него станет выдаваться перечень устройств.

/network:nw

Как записать в файл результат выполнения команды?

Для примера запишем в файл результат команды «DIR» В консоль пишем:

Обратите внимание на символ «>» он то и играет здесь главную роль. В итоге появится файл на диске «C:\» с именем «Save.txt» куда будет записан результат выполнения команды

Если Вам понадобится записать результат команды «DIR» ещё раз, то файл «Save.txt» будет перезаписан и ранние содержимое файла будет удалено!

Что бы этого избежать и просто добавить новый результат не удаляя старый, стоит использовать символ «>» два раза, то есть вот так:

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

На этом я пожалуй закончу пост, и отправлюсь праздновать первый день рождения сына, ему сегодня исполняется один годик!!!

Спасибо за внимание!

Контексты netsh Netsh contexts

Netsh взаимодействует с другими компонентами операционной системы с помощью динамической библиотеки-Link Library (DLL) Files. Netsh interacts with other operating system components by using dynamic-link library (DLL) files.

Каждая библиотека DLL модуля поддержки Netsh предоставляет широкий набор функций, называемый контекстом, который представляет собой группу команд, характерных для серверной роли или компонента сети. Each netsh helper DLL provides an extensive set of features called a context, which is a group of commands specific to a networking server role or feature. Эти контексты расширяют функциональные возможности Netsh, обеспечивая поддержку конфигурации и мониторинга для одной или нескольких служб, служебных программ или протоколов. These contexts extend the functionality of netsh by providing configuration and monitoring support for one or more services, utilities, or protocols. Например, Дхкпмон. dll предоставляет Netsh с контекстом и набором команд, необходимых для настройки DHCP-серверов и управления ими. For example, Dhcpmon.dll provides netsh with the context and set of commands necessary to configure and manage DHCP servers.

Получение списка контекстов Obtain a list of contexts

Список контекстов Netsh можно получить, открыв либо командную строку, либо Windows PowerShell на компьютере под управлением Windows Server 2016 или Windows 10. You can obtain a list of netsh contexts by opening either command prompt or Windows PowerShell on a computer running Windows Server 2016 or Windows 10. Введите команду netsh и нажмите клавишу ВВОД. Type the command netsh and press ENTER. Введите /? , а затем нажмите клавишу ВВОД. Type /?, and then press ENTER.

Ниже приведен пример выходных данных для этих команд на компьютере с Windows Server 2016 Datacenter. Following is example output for these commands on a computer running Windows Server 2016 Datacenter.

Подконтексты Subcontexts

Контексты netsh могут содержать как команды, так и дополнительные контексты, называемые подконтекстами. Netsh contexts can contain both commands and additional contexts, called subcontexts. Например, в контексте маршрутизации можно изменить подконтексты IP и IPv6. For example, within the Routing context, you can change to the IP and IPv6 subcontexts.

Чтобы отобразить список команд и подконтекстов, которые можно использовать в контексте, введите имя контекста в командной строке netsh и введите либо /? To display a list of commands and subcontexts that you can use within a context, at the netsh prompt, type the context name, and then type either /? или Справка. or help. Например, чтобы отобразить список подконтекстов и команд, которые можно использовать в контексте маршрутизации, в командной строке Netsh (, то есть netsh> ), введите одно из следующих действий: For example, to display a list of subcontexts and commands that you can use in the Routing context, at the netsh prompt (that is, netsh>), type one of the following:

Маршрутизация/? routing /?

Справка по маршрутизации routing help

Для выполнения задач в другом контексте без изменения текущего контекста введите путь к контексту команды, которую необходимо использовать в командной строке Netsh. To perform tasks in another context without changing from your current context, type the context path of the command you want to use at the netsh prompt. Например, чтобы добавить интерфейс с именем «подключение по локальной сети» в контексте IGMP без предварительного изменения контекста IGMP, введите в командной строке Netsh следующую команду: For example, to add an interface named «Local Area Connection» in the IGMP context without first changing to the IGMP context, at the netsh prompt, type:

Маршрутизация IP IGMP: «подключение по локальной сети» стартупкуеринтервал = 21 routing ip igmp add interface «Local Area Connection» startupqueryinterval=21

Проверка условий и выбор вариантов. Команды if и goto

Команда if позволяет выделять в командном файле группы команд, которые выполняются или не
выполняются в зависимости от определенных условий. Для чего это нужно?

Проверка условия — почти необходимая мера при создании командных файлов,
использующих параметры. Перед тем, как начинать работу, командный файл, вообще говоря, должен
удостовериться в том, что ему передан корректный набор параметров. В противном случае велик
риск, что он выполнится неверно или безрезультатно, а пользователю останется только гадать, в
чем же проблема. Более того, если командный файл удаляет, перемещает или перезаписывает
какие-либо данные, то при некорректных параметрах он может даже нанести ущерб.

На следующем листинге показан уже знакомый вам командный файл компиляции хелп-файла. В начало
командного файла добавлена проверка первого параметра на непустоту

Обратите внимание на такую
особенность синтаксиса: для операции сравнения используется сдвоенный знак равенства. Если
первый параметр оказывается непустым, срабатывает команда goto, которая
«перебрасывает» командный процессор к указанной метке

В данном случае имя
этой метки compile. Обратите внимание, что там, где метка находится, ее имя предваряется
двоеточием, а в команде goto нет. При пустом первом параметре командный процессор переходит к
следующей строке, которая выдает сообщение об ошибке. А потом к следующей, которая
перебрасывает его в самый конец файла к метке с именем finish.

@echo off

rem Проверяем, задан ли параметр
if not "%1"=="" goto compile

rem Если параметр пуст, выдаем сообщение об ошибке
echo Не указано имя проекта хелп-файла
rem и переходим в конец командного файла
rem к метке finish
goto finish

rem Это метка с именем compile
:compile

rem Ниже расположены команды компиляции

rem Путь к компилятору хелп-файлов
set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"

rem Путь к каталогу, в котором находятся проекты хелп-файлов
set project_path=e:\work\projects\help-projects

rem Вызываем компилятор для обработки конкретного проекта,
rem имя которого передаем в первом параметре
%help_compiler% %project_path%\%1.hpj

rem Это метка с именем finish
:finish

Скажем прямо, предложенный способ проверки параметра не самый удачный.

Во-первых, если пользователь по ошибке укажет в качестве параметра имя несуществующего файла,
командный файл этим удовлетворится и предпримет попытку компиляции. Более правильный способ
— проверить, существует ли такой файл в действительности. Для этого в языке команд
MS-DOS предусмотрено специальное слово exist. Поэтому лучше было бы написать:
if exist %1.hpj goto compile.

Во-вторых, активное использование команды goto (т.н. безусловного перехода) и
меток сильно запутывают код. Технически они ничем не плохи, но отлаживать и сопровождать
командный файл, написанный в таком стиле, довольно неудобно. Поэтому программисты издавна
считают безусловный переход приемом нежелательным. Ниже показан более правильный, с точки
зрения стиля программирования, структурированный вариант, в котором используется конструкция
if…else. Работает она так: если условие истинно, выполняются
команды в скобках после if, а если ложно, то в скобках после else.

@echo off

rem Проверяем, задан ли параметр
if not exist %1.hpj (

   rem Если параметр пуст, выдаем сообщение об ошибке
   echo Такого проекта хелп-файла не существует.
) else (

   rem Ниже расположены команды компиляции

   rem Путь к компилятору хелп-файлов
   set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"

   rem Путь к каталогу, в котором находятся проекты хелп-файлов
   set project_path=e:\work\projects\help-projects

   rem Вызываем компилятор для обработки конкретного проекта,
   rem имя которого передаем в первом параметре
   %help_compiler% %project_path%\%1.hpj

)

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

Приведем еще один пример работы с проверками. Следующий командный файл создает каталог с
именем help-files (предположим, для выгрузки в него скомпилированных
хелп-файлов). При этом, если каталог с таким именем уже существует (и в нем, вероятно,
находятся старые хелп-файлы, которые не хотелось бы терять: вдруг новые окажутся хуже?),
командный файл присваивает ему расширение bak. Но если каталог help-files.bak
уже существовал, то командный файл его удаляет (будем считать, что одной резервной копии нам хватит).

if exist help-files.bak rd help-files.bak
if exist help-files ren help-files help-files.bak
md help-files

Отправка сообщения непосредственно из файла BAT

Следует рассмотреть ситуации, когда осуществляется работа пакетного файла на одном из устройств в сети. В подобной ситуации будет особенно удобным, когда после завершения установленных мероприятий произойдет пересылка соответствующего сообщения для администратора. Это довольно просто сделать с применением следующей строки:

net send name Message text

Здесь параметр name означает название некоторого устройства, куда будет отправлено сообщение. В качестве самого сообщения следует прописать информацию Message text

Важно учитывать применяемый алфавит. Когда осуществляется работа с кириллицей, нужно применять кодировку MS-DOS (866 кодовая страница) или любую аналогичную ей

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

В качестве примера подобной программы можно отметить FAR. Следует выполнить открытие пакетного документа через этот текстовый редактор за счет нажатия клавиши F4 или выбора соответствующего пункта. Указывается кодировка DOS – она исключает проблему невозможности распознания символов системой.

Примеры аргументов командной строки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:

С помощью флажка можно указать профиль Терминала Windows, который необходимо открыть.The 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.

Несколько вкладокMultiple tabs

Чтобы открыть новый экземпляр терминала с несколькими вкладками, введите:To open a new terminal instance with multiple tabs, enter:

Чтобы открыть новый экземпляр терминала с несколькими вкладками (в данном случае профиль Командной строки и профиль PowerShell), введите:To open a new terminal instance with multiple tabs, in this case a Command Prompt profile and a PowerShell profile, enter:

Несколько панелей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:

Флажок (или ) указывает, что области должны разделяться по горизонтали.The flag (or ) indicates that you would like the panes to be split horizontally. Флажок (или ) указывает, что панели должны разделяться по вертикали.The flag (or ) indicates that you would like the panes split vertically.

Заголовок вкладки (предварительная версия)Tab title (Preview)

Чтобы открыть новый экземпляр терминала с пользовательскими заголовками вкладок, используйте аргумент .To open a new terminal instance with custom tab titles, use the argument. Чтобы задать заголовок для каждой вкладки при открытии двух вкладок, введите следующее:To set the title of each tab when opening two tabs, enter:

Важно!

Эта функция доступна только в предварительной версии Терминала Windows.This feature is only available in Windows Terminal Preview.

Фокус вкладкиTab focus

Чтобы открыть новый экземпляр терминала с определенной вкладкой в фокусе, установите флажок (или ), а также индекс вкладки.To open a new terminal instance with a specific tab in focus, use the flag (or ), along with the tab-index number. Чтобы открыть профиль по умолчанию на первой вкладке и профиль Ubuntu-18.04 в фокусе на второй вкладке (), введите:To open your default profile in the first tab and the «Ubuntu-18.04» profile focused in the second tab (), enter:

Системные переменные

%CMDEXTVERSION%

Позволяет предоставить номер версии действующих расширений обработчика команд

%COMPUTERNAME%

Предоставляет название устройства, на котором производится работа

%COMSPEC%

Осуществляет выдачу пути к исполняемой командной оболочке

%DATE%

Предоставляет действующие сведения. Следует отметить тот факт, что предусматривается применение формата, аналогичного date /t. Все сведения об указанной команде можно получить непосредственно из соответствующего раздела на сайте

%ERRORLEVEL%

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

%HOMEDRIVE%

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

%HOMEPATH%

Выполняет предоставление пути до главного каталога юзера. Следует устанавливать за счет сведений о нахождении главного каталога

%HOMESHARE%

Выполняет предоставление пути до общего главного каталога юзера. Следует устанавливать за счет сведений о нахождении главного каталога

%NUMBER_OF_PROCESSORS%

Определяет количество процессоров, которыми обладает конкретное устройство

%OS%

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

%PATH%

Устанавливает путь поиска для того, чтобы обнаруживать программы

%PATHEXT%

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

%PROCESSOR_ARCHITECTURE%

Используется в тех случаях, когда необходимо получить архитектуру определенного процессора

%PROCESSOR_IDENTFIER%

Предоставляет короткую информацию о процессоре

%PROCESSOR_LEVEL%

Предоставляет данные о номере модификации процессора

%RANDOM%

Предоставляет любое целое число в диапазоне 0-32767 включительно

%SYSTEMDRIVE%

Выполняет предоставление названия диска, на который записан корневой каталог ОС Windows XP

%SYSTEMROOT%

Предоставляет место расположения системного каталога ОС

%TEMP% и %TMP%

Данные переменные являются системной и пользовательской. Это позволяет осуществить исполнение одинаковых задач при различных ситуациях. Предоставляет временные папки, воспользоваться которыми могут все юзеры. Для определенных программ нужно использовать TEMP или TMP.

%TIME%

Предоставляет сведения о времени на данный момент. Применяется аналогичный time /t формат отображения.

%WINDIR%

Позволяет осуществить возврат каталога ОС

5 ответов

106

Лучший ответ

Для exe файлов я предполагаю, что различия почти несущественны.
Но для запуска exe вам даже не нужен CALL.

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

создаст новый cmd.exe для вызываемой партии и без /b откроет новое окно.
Поскольку это новый контекст, переменные не могут быть разделены.

Добавление:
Использование может изменить параметры (для пакетных и exe файлов), но только в том случае, если они содержат знаки ухода или процента.

Будет расширен до (изнутри пакетного файла)

06 нояб. 2012, в 21:18
Поделиться

10

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

запускает Microsoft Word и открывает myworddoc.docx. делает то же самое… однако предоставляет больше параметров для состояния окна и вещей такого характера. Он также позволяет установить приоритет процесса и аффинность.

Короче говоря, учитывая дополнительные параметры, предоставляемые при запуске, это должен быть ваш выбор.

06 нояб. 2012, в 21:56
Поделиться

5

Существует полезное различие между и при вызове , также упоминаемом Gary в
в ответ на how-do-i-get-the-application-exit-code-from-a-windows-command-line

всегда будет возвращать 0, но

вернет уровень ошибки из regsvr32.exe

18 дек. 2014, в 12:38
Поделиться

3

Вызов

Вызывает одну пакетную программу из другого без остановки родительской пакетной программы. Команда вызова принимает метки как цель вызова. Вызов не влияет на командную строку при использовании вне script или командного файла.
https://technet.microsoft.com/en-us/library/bb490873.aspx

Начало

Запускает отдельное окно командной строки для запуска указанной программы или команды. При запуске без параметров запускается второе окно командной строки.
https://technet.microsoft.com/en-us/library/bb491005.aspx

17 июнь 2016, в 12:26
Поделиться

1

Это то, что я обнаружил при параллельном запуске пакетных файлов (несколько экземпляров одного и того же файла bat одновременно с разными входными параметрами):

Предположим, что у вас есть exe файл, который выполняет длинную задачу, называемую
LongRunningTask.exe

Если вы вызываете exe непосредственно из файла bat, только первый вызов LongRunningTask будет завершен, а остальная часть получит ошибку ОС «Файл уже используется процессом»

Если вы используете эту команду:

start/B/WAIT «» LongRunningTask.exe «» параметры»

Вы сможете запускать несколько экземпляров bat и exe, все еще ожидая завершения задачи до того, как bat продолжит выполнение оставшихся команд. Параметр /B состоит в том, чтобы избежать создания другого окна, для выполнения команды нужно использовать пустые кавычки, см. Ссылку ниже.

Обратите внимание: если вы не используете /WAIT в начале, LongRunningTask будет выполняться одновременно с оставшимися командами в пакетном файле, поэтому может возникнуть проблема, если одна из этих команд требует вывода LongRunningTask

Возобновление:

Это не может работать параллельно:

вызов LongRunningTask.exe

Это будет работать параллельно и будет нормально, поскольку нет зависимостей между выводами команды и остальной частью файла bat:

start/B «» LongRunningTask.exe «» параметры»

Это будет работать параллельно и дождитесь завершения задачи, поэтому вы можете использовать вывод:

start/B/WAIT «» LongRunningTask.exe «» параметры»

Ссылка для команды запуска: Как запустить программу из пакетного файла, не покидая консоль после запуска программы?

17 май 2017, в 19:15
Поделиться

Ещё вопросы

  • 143Не удается найти модуль ‘../build/Release/bson’] код: ‘MODULE_NOT_FOUND’} js-bson: не удалось загрузить расширение c ++ bson, используя чистую версию JS
  • 30Как скопировать в буфер обмена с помощью Access / VBA?
  • 271Как преобразовать новую строку DOS / Windows (CRLF) в новую строку Unix (LF) в сценарии Bash?
  • 137Ошибка установки libv8: ОШИБКА: не удалось создать собственное расширение для gem
  • 951Node.js / ошибка Windows: ENOENT, статистика ‘C: \ Users \ RT \ AppData \ Roaming \ npm’
  • 453Как я могу обновить npm в Windows?
  • 260Как запустить файл hello.js в Node.js в Windows?
  • 187Предупреждение Ruby 2.0.0p0 IRB: «DL устарел, используйте Fiddle»
  • 63хороший клиент postgresql для Windows?
  • 1066Как я могу разработать для iPhone, используя машину для разработки Windows?

Процессинг файлов и информации

  • Для того, чтобы найти файл в текущей директории сделайте find. -iname ‘*something*’. Для того, чтобы искать файл по всей системе используйте locate something (но не забывайте, что updatedb мог еще не проиндексировать недавно созданные файлы).

  • Для основого поиска по содержимому файлов (более сложному, чем grep -r) используйте ag.

  • Для конвертации HTML в текст: lynx -dump -stdin

  • Для конвертации разных типов разметки (HTML, маркдаун и т.д.) попробуйте pandoc.

  • Если нужно работать с XML, есть старая но хорошая утилита – xmlstarlet.

  • Для работы с JSON используйте jq.

  • Для работы с Excel и CSV-файлами используйте csvkit (программа предоставляет команды in2csv, csvcut, csvjoin, csvgrep и т.д.)

  • Для работы с Amazon S3 удобно работать с s3cmd и s4cmd (последний работает быстрее). Для остальных сервисов Амазона используйте стандартный aws.

  • Знайте про sort и uniq, включая флаги -u и -d, смотрите примеры ниже. Еще гляньте на comm.

  • Знайте про cut, paste, и join для работы с текстовыми файлами. Многие люди используют cut забыв про join.

  • Знайте о wc: для подсчета переводов строк (-l), для символов – (-m), для слов – words (-w), для байтового подсчета – (-c).

  • Знайте про tee, для копирования в файл из stdin и stdout, что-то типа ls -al | tee file.txt.

  • Не забывайте, что Ваша локаль влияет на многие команды, включая порядки сортировки, сравнение и производительность. Многие дистрибутивы Linux автоматически выставляют LANG или любую другую переменную в подходящую для Вашего региона. Из-за этого результаты функций сортировки могут работать непредсказуемо. Рутины i18n могут значительно снизить производительность сортировок. В некоторых случаях можно полностью этого избегать (за исключением редких случаев), сортируя традиционно побайтово, для этого export LC_ALL=C

  • Знайте основы awk и sed для простых манипуляций с данными. Например, чтобы получить сумму всех чисел, которые находятся в третьей колонки текстового файла можно использовать awk ‘{ x += $3 } END { print x }’. Скорее всего, это раза в 3 быстрее и раза в 3 проще чем делать это в Питоне.

  • Чтобы заменить все нахождения подстроки в одном или нескольких файлах:

Для того, чтобы переименовать сразу много файлов по шаблону, используйте rename. Для сложных переименований может помочь repren:

Используйте shuf для того, чтобы перемешать строки или выбрать случайную строчку из файла.
Знайте флаги sortа. Для чисел используйте -n, для работы с человекочитаемыми числами используйте -h (например du -h). Знайте как работают ключи (-t и -k). В частности, не забывайте что вам нужно писать -k1,1 для того, чтобы отсортировать только первое поле; -k1 значит сортировка учитывая всю строчку. Так же стабильная сортировка может быть полезной (sort -s)

Например для того, чтобы отсортировать самое важное по второму полю, а второстепенное по первому можно использовать sort -k1,1 | sort -s -k2,2`.
Если вам когда-нибудь придется написать код таба в терминале, например для сортировки по табу с флагом -t, используйте шорткат ctrl-v или напишите $’\t’. Последнее лучше, потому что его можно скопировать.
Стандартные инструменты для патчинга исходников это diff и patch

Так же посмотрите на diffstat для просмотра статистики диффа. diff -r работает для по всей директории. Используйте diff -r tree1 tree2 | diffstat для полной сводки изменений.
Для бинарников используйте hd для простых hex-дампом и bvi для двоичного изменения бинарников.
strings (в связке grep или чем-то похожем) помогает найти строки в бинарниках.
Для того, чтобы посмотреть разницу в бинарниках (дельта кодирование) используйте xdelta3.
Для конвертирования кодировок используйте iconv. Для более сложных задач – uconv, он поддерживает некоторые сложные фичи Юникода. Например эта команда переводит строки из файла в нижний регистр и убирает ударения (кои бывают, например, в Испанском)

  • Для того, чтобы разбить файл на куски используйте split (разбивает на куски по размеру), или csplit (по шаблону или регулярному выражению)

  • Используйте zless, zmore, zcat, и zgrep для работы с сжатыми файлами.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий