Сделай Сам Свою Работу на 5

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





Введение в технологию командных файлов

Многие начинающие пользователи и администраторы операционной системы Windows, которым не приходилось ранее работать с MS-DOS и Unix, часто просто не подозревают о тех удобствах в повседневной работе, которые при грамотном применении могут им предоставить стандартные команды Windows и сценарии на базе командной строки (пакетные или командные файлы). Ведь ежедневные рутинные задачи (связанные, например, с копированием или архивированием файлов, подключением или отключением сетевых ресурсов и т.п.), которые обычно выполняются с помощью графического интерфейса проводника Windows, можно полностью автоматизировать, написав командный файл, состоящий всего из нескольких строчек! Более того, для человека, не знающего основные команды Windows и такие базовые возможности операционной системы, как перенаправление ввода/вывода и конвейеризация команд, некоторые простейшие задачи могут показаться очень трудными. Попробуйте, например, пользуясь только графическими средствами, сформировать файл, содержащий имена файлов из всех подкаталогов какого-либо каталога! А ведь для этого достаточно выполнить единственную команду DIR (с определенным ключом) и перенаправить вывод этой команды в нужный текстовый файл.



Очень ярко пренебрежение командной строкой проявляется при работе с Windows NT/2000/XP. Не все, к сожалению, знают, что интерпретатор команд в этих операционных системах обеспечивает весьма мощные возможности при использовании командной строки и пакетных файлов.

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

· Работа с файловой системой компьютера:

    • получение информации о структуре файловой системы;
    • просмотр или изменение атрибутов каталогов и файлов;
    • создание, копирование или удаление каталогов и файлов;
    • создание, изменение или удаление метки диска.
  • Использование ресурсов локальной сети:
    • получение информации о доступных сетевых ресурсах;
    • подключение или отключение сетевых дисков и принтеров;
    • получение информации о доступных очередях печати;
    • синхронизация системного времени с другим компьютером.
  • Просмотр и изменение переменных среды.
  • Запуск в различных режимах внешних программ.
  • Открытие документов зарегистрированных типов.

С точки зрения программирования командные файлы в Windows 9x обладают следующими возможностями:



· Использование в командах внутри файла замещаемых параметров командной строки и переменных среды.

· Вывод строк текста на экран и во внешний файл.

· Вызов внешних командных файлов (симуляция подпрограмм).

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

· Использование (ограниченное) оператора условия IF.

· Переход на заданную команду внутри текущего файла.

· Возможность выбора пользователем во время выполнения файла одного из предложенных вариантов.

В командных файлы Windows NT/2000/XP появляется довольно много новых возможностей. Перечислим наиболее важные из них.

· Над переменными среды, заменяемыми параметрами и переменными цикла, можно выполнять арифметические действия, а также проводить определенный синтаксический анализ.

· Изменения переменных среды можно локализовать внутри командного файла.

· Существует возможность немедленного перехода в конец пакетного файла.

· Имеется механизм перехода к заданной метке в новой копии текущего пакетного файла (с произвольными параметрами командной строки).

· Усовершенствована работа условного оператора IF (в частности, разрешается использовать операторы условия, отличные от сравнения на равенство).

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



· Команды из пакета Windows NT Resource Kit позволяют приостанавливать выполнение командного файла на определенное время, а также создавать текстовые файлы-протоколы производимых действий.

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

· Отсутствует полноценный оператор IF … ELSE.

· Нет прямых инструкций, позволяющих читать и записывать текстовые файлы.

· Нельзя напрямую работать с рабочим столом Windows и другими специальными папками.

Для написания полноценных сценариев, работающих под управлением Windows, нужно использовать разработанный фирмой Microsoft сервер сценариев Windows (Windows Script Host, WSH).

 

Как создать batch файл?

Откройте блокнот и наберите две следующих строки:

@echo This batch file
@pause

Выберите Файл - Сохранить как, выберите Тип файла - Все файлы, в поле Имя файла введите 1.bat и сохраните его в корне диска С, например. Теперь откройте диск С и запустите файл 1.bat. На экран будет выведено две строки.

This batch file
Нажмите любую клавишу для продолжения...

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

 

 

Команды, используемые в bat файлах

Список команд, которые можно использовать в bat файлах, можно просмотреть, введя в командной строке (Пуск - Выполнить - cmd для Windows семейтва NT или Пуск - Выполнить - command для линейки 9х) команду

help

Результат работы help - список доступных команд с краткими пояснениями к ним. Чтобы получить более подробную информацию по интересующей команде введите в командной строке help имя_команды. Например, чтобы получить подробную справку по ключам команды AT выполните следующую команду:

help AT

В результате, на экран будет выведен список ключей для запуска команды AT из bat файла.
Если bat файл исполняется под управлением Windows (не в чистом DOS-е), то из него можно запускать любые приложения или открывать файлы. Например, нужно автоматически открыть лог-файл работы bat файла по завершении его работы. Для этого достаточно включить в bat файл последней строкой следующую команду:

start имя_файла.txt

Результатом выполнения этой команды станет открытие файла имя_файла.txt, а сам bat файл завершит свою работу. Такой способ хорош, если лог-файл небольшого размера, иначе Блокнот откажется его открывать, предложив использовать WordPad. Но эта проблема так же решаема, что и будет показано в дальнейших примерах.

 

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

Для создания файла в процессе выполнения пакетного файла используется символ перенаправления. Он выглядит так:

>

Т.е. чтобы создать файл нужно перенаправить поток с экрана в файл. Сделать это можно при помощи следующей команды:

@echo Start file>C:\1.txt

После выполнения этой команды в корне диска С будет создан текстовый файл со строкой Start file.
При создании файла в его имени можно использовать системные переменные или их части. Например, можно создать файл-отчет о работе bat файла с именем, равным дате запуска bat файла. Для этого можно использовать следующие строки в bat файле.

set datetemp=%date:~-10%
@echo .>%SYSTEMDRIVE%\%DATETEMP%.txt

Эти две строки работают следующим образом. Сначала в памяти создаем переменную datetemp, которой присваиваем 10 символов справа налево от системной переменной DATE. Таким образом, теперь во временной переменной datetemp содержится только текущая дата. Следующией строкой перенаправляем вывод символа точка в файл, имя которого берем из переменной datetemp, а расширение txt указываем явно. Файл будет создан на системном диске компьютера, где выполняется bat файл.
При сборе администратором информации о компьютерах в сети будет удобнее добавить к имени файла имя компьютера. Это легко можно сделать при помощи следующей команды:

@echo .>C:\FolderName\%COMPUTERNAME%.txt

Эта команда в ходе выполнения пакетного файла создаст на диске С текстовый файл с именем того компьютера, на котором выполняется пакетный файл.
Для создания файла с определенным именем можно использовать любые системные переменные, либо создать свои, на основе системных переменных и/или других данных.

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.