Скрипт для запуска команды cmd в условном цикле - PullRequest
0 голосов
/ 09 октября 2019

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

s start X N TST 2019-08-31

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

s start X N TST 2019-09-30

  • каждый за последний день месяца (за 3 года всего 2017-19).

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

1 Ответ

0 голосов
/ 09 октября 2019

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

From cmdline:

for /f "usebackq" %i in ("C:\your\filename.txt") do s start X N TST %i

В batch-file просто удвойте %:

for /f "usebackq" %%i in ("C:\your\filename.txt") do s start X N TST %%i

Вы можете запустить for /? из cmd, чтобы увидеть всю необходимую помощь, но в выстрелеобъяснено выше.

for /f создает цикл, usebackq просто позволяет нам в этом случае дважды заключить в кавычки файл с путем (необходимо, если имя пути или имя файла содержит один или несколько пробелов, но "рекомендация «всегда заключать в кавычки путь и имена файлов),
%i - это метавариабельная переменная, присваиваемая каждому результату
("..") - это место, где мы генерируем метавариабельные результаты, в данном случае из файла,
do действие в этом случае s start X N TST %i

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