Написание сценариев на основе служб терминалов (часть 8)
Если вы хотите прочитать другие части этой серии статей, перейдите по ссылке:
- Написание сценариев на основе служб терминалов (часть 1)
В предыдущей части этой серии статей я показал вам, как использовать команду Echo, чтобы сделать вывод сценария более разборчивым. Я также говорил о необходимости создания лог-файлов, имена которых основывались на текущей дате, чтобы избежать перезаписи ранее созданных лог-файлов. Хотя я показал вам команды, необходимые для создания имен файлов на основе текущей даты ваших файлов журналов, у меня не было возможности показать вам, как эти команды на самом деле работают. В этой статье я хочу продолжить серию, объяснив команды, которые мы использовали до сих пор.
Создание имен файлов на основе даты
Как вы помните, в предыдущей статье мы создали следующий скрипт:
Файл эхо-журнала успешно создан.
Первые две строчки этого скрипта довольно короткие и сухие. Команда @Echo Off указывает сценарию не отображать команды по мере их выполнения, а команда Echo Create Log File указывает сценарию отображать фразу Создание файла журнала. Однако в третьей строке сценария все становится действительно интересным. Это строка, в которой мы создаем имя файла.
Как видите, команда начинается с команды For. Я еще не говорил о команде For, потому что она не имеет прямого отношения к службам терминалов, но это хорошая команда для понимания, поскольку она позволяет создавать более мощные сценарии.
Если вы посмотрите на строку кода ниже, вы заметите, что команда For состоит из двух основных частей. Есть раздел For и раздел Do. В разделе «Для» задаются критерии, которым вы должны соответствовать. Раздел Do выполняет другую команду после того, как будут выполнены критерии, указанные в разделе for.
В данном конкретном случае раздел For команды выглядит так:
Раздел Do выглядит следующим образом:
По сути, раздел Do использует команду Set для заполнения переменной с именем Datefile именем файла, сгенерированным разделом For команды.
Я понимаю, что эти команды, вероятно, все еще выглядят как тарабарщина, поэтому я хочу немного разобрать их для вас.
Раздел «Для»
А пока давайте просто полностью забудем о части команды Do и сосредоточимся на разделе For, показанном ниже:
Эта команда в основном делает импорт определенных токенов при выполнении команды DATE /T. Конечно, это поднимает несколько вопросов, например, что делает DATE /T и что такое токен?
Если вы посмотрите на рисунок A, вы увидите, где я вручную выполнил команду DATE /T. Как видно на рисунке, эта команда просто отображает день недели, а затем месяц, день и год в числовом формате. Как вы помните, мы используем часть этой информации для создания имени файла, но мы, конечно же, не можем создать имя файла, используя эту информацию в необработанном виде.