Bat это что: Файл BAT — что это за формат и основные программы
Работа с bat-файлами. | База полезных знаний
Пакетные или batch файлы это обычные текстовые файлы, содержащие наборы команд интерпритатора и имеющие расширение bat или cmd (cmd работают только в ОС семейства NT). Редактировать такие файлы можно при помощи блокнота или любого другого текстового редактора.
В этом FAQ собраны рекомендации, которые были протестированы на Windows 2000. Некоторые команды и переменные, использованные при написании примеров, отсутствуют в 9х.
Как создать 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 файлов
Очень часто необходимо автоматизировать запуск bat файлов для выполнения ими рутинных операций. Для запуска bat файлов по расписанию наиболее подходит Планировщик, входящий в стандартную поставку Windows. С это помощью можно очень гибко настроить запуск пакетного файла в определенные дни или часы, с определенным интервалом. Можно создать несколько расписаний и т.д.
Для локального запуска batch файлов можно пользоваться решениями от третьих фирм, благо платных и бесплатных альтернатив стандартному Планировщику великое множество.
Batch файлы так же могут использоваться как логин-скрипты в доменах. При таком их использовании они будут исполняться при каждом входе пользователя в сеть не смотря на его желание. С их помощью можно автоматизировать сбор информации о машинах или о программном обеспечении, установленном на компьютерах пользователей, принудительно менять настройки Windows, устанавливать незаметно для пользователя программное обеспечение и автоматизировать решение других задач, ручное исполнение которых заняло бы очень много времени.
Как создать файл с произвольным именем из 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
Эта команда в ходе выполнения пакетного файла создаст на диске С текстовый файл с именем того компьютера, на котором выполняется пакетный файл.
Для создания файла с определенным именем можно использовать любые системные переменные, либо создать свои, на основе системных переменных и/или других данных.
Как создать папку из bat файла
Для создания папки используется команда MKDIR или ее сокращенный аналог MD. Для создания папки из bat файла нужно использовать следующую команду:
MD FolderName
После выполнения такой команды будет создана папка FolderName в папке, откуда запущен bat файл. Чтобы создать файл в отличном от запуска bat файла месте, например в корне диска D, используйте явное указание расположения новой папки. Команда будет выглядеть так:
MD D:\FolderName
При создании папок можно пользоваться системными переменными. Например, можно создать в корне диска D папку с именем текущего пользователя. Для этого понадобится переменная %USERNAME%, а команда будет выглядеть следующим образом:
MD D:\%USERNAME%
Можно еще более усложнить команду и создать папку с именем текущего пользователя на системном диске его компьютера. Команда для этого будет выглядеть так:
MD %SYSTEMDRIVE%\%USERNAME%
При создании папок или файлов можно использовать любые системные переменные или их части. Следующий пример демонстрирует создание на системном диске компьютера пользователя папки с именем равным текущей дате.
set datetemp=%date:~-10%
MD %SYSTEMDRIVE%\%datetemp%
Эта конструкция работает следующим образом.
Первая команда создает в памяти переменную datetemp, которая будет уничтожена по окончании работы bat файла. То тех пор, пока bat файл не закончил свою работу есть возможность оперировать со значением этой переменной. Переменной datetemp присваивается 10 символов справа налево от системной переменной DATE, т.е. от текущей даты. Переменная DATE имеет формат Дн ДД.ММ.ГГГГ. Первые символы слева — имя дня недели и поэтому мы их отбрасываем и присваиваем временной переменной datetemp только текущую дату.
Этим не ограничивается список возможностей при создании папок. Вы можете опрерировать переменными так, как удобно Вам, создавая папки с уникальными, легко читаемыми названиями. Получить список всех переменных можно при помощи команды SET.
Как перенаправить результат выполнения команд в файл
Часто, при выполнении сложного bat файла в автоматическом режиме проверить результаты его работы бывает затруднительно по многим причинам. Поэтому проще записывать результаты работы команд batch файла в текстовый файл (лог-файл). а потом анализировать правильность работы bat файла по этому логу.
Перенаправить результат работы команд bat файла в лог-файл достаточно просто. Далее будет показано, как это можно сделать.
Создайте bat-файл следующего содержания (скопируйте эти строки в Блокнот и сохраните файл с расширением bat):
@echo off
echo Start %time%
echo Create test. txt
echo test>C:\test.txt
echo Copy Test.txt to Old_test.txt
copy C:\test.txt C:\Old_test.txt
echo Stop %time%
Первая строка отключает вывод самих команд. Таким образом, в лог-файл будут записаны только результаты их выполнения.
Вторая строка записывает в лог-файл время начала работы пакетного файла.
Третья строка записывает в лог-файл пояснение того, что следующая команда создаст файл test.txt
Команда из четвертой строки создает файл test.txt с корне диска С. Файл создается для примера. Эта команда записывает в файл C:\test.txt слово test
Пятая строка выводит в лог-файл пояснение, что следующая команда выполняет копирование файла из одного места в другое.
Команда в шестой строке копирует созданный файл C:\test.txt в файл C:\Old_test.txt, т.е. создается копия файла под новым именем.
Последняя, седьмая строка содержит команду вывода времени завершения работы пакетного файла. В сумме с записью в лог-файл времени начала работы пакетного файла эти два значения времени дают возможность оценить время работы пакетного файла.
Сохраните этот пакетный файл под именем, например, 1.bat
Предположим, что отчет о работе пакетного файла мы бы хотели хранить в отдельной папке и каждый день записывать отчет с новым именем файла, чтобы была возможность в любой из дней обратиться к логам за предыдущие дни. Причем, имя лог-фала хотелось бы иметь в виде даты работы пакетного файла. Чтобы все это реализовать создадим на диске С (например) папку с именем LOG, т.е. полный путь к ней будет выглядеть C:\LOG. Созданный пакетный файл 1.bat будем запускать следующей командой:
1.bat>C:\LOG\%date~-10%.txt
Если пакетный файл будет запускаться из Планировщика, то нужно указать полный путь с bat-файлу. Помните, что если в пути есть пробелы, то надо использовать либо кавычки, либо формат 8.3. Т.е., если путь к bat-файлу C:\Program Files\1.bat, например, то в командной строке Планировщика для запуска bat-файла нужно указать одну из следующих строк:
"C:\Program Files\1.bat">C:\LOG\%date~-10%. txt
C:\Progra~1\1.bat>C:\LOG\%date~-10%.txt
После запуска файла 1.bat в папке C:\LOG будет создан файл с именем, равным дате запуска bat-файла, например, 13.01.2004.txt Это и будет отчет о работе пакетного файла 1.bat
Запуск bat-файла, пример которого показан в первом листинге вверху страницы, указанной выше командой, приведет к созданию лог-файла такого содержания:
Start 19:03:27,20
Create test.txt
Copy Test.txt to Old_test.txt
Скопировано файлов: 1.
Stop 19:03:27,21
Таким образом, для выполнения перенаправления результатов работы bat-файла в лог-файл нужно использовать символ перенаправления > Синтаксис таков:
Путь\ИмяФайла.bat>Путь\ИмяЛогФайла.txt
Расширение лог-файла может быть любым. При желании, отчет о выполнении пакетного задания можно оформить даже в виде страницы html (соответствующие теги могут быть выведены в лог-файл так, как выводились комментарии в примере 1.bat) и скопировать его на корпоративный сервер.
Как автоматически ответить на запрос о подтверждении
Некоторые команды при выполнении требуют подтверждения потенциально опасного действия. Например, такие команды как format или del предварительно запросят подтверждения на дальнейшее выполнение. Если одна из этих команд выполняется в пакетном файле, то запрос на подтверждение остановит выполнение пакетного файла и он будет ожидать от пользователя выбора одного из предложенных вариантов. Причем, если результат выполнение пакетного файла перенаправлен в лог-файл, то пользователь не увидит запроса на подтверждение и batch файл будет выглядеть зависшим.
Для исправления таких неприятностей можно перенаправить нужный ответ в команду. Т.е. выполнить обратное действие для перенаправления вывода результатов работы команды в файл.
Посмотрим на примере как выглядит запрос на подтверждение потенциально опасного действия. Создадим на диске С, например, папку Folder. Создадим в ней или скопируем в нее два любых файла. Далее, откроем командную строку и выполним следующую команду:
del C:\Folder
Эта команда должна удалить все файлы из указанной папки. Но предварительно будет выдан запрос для подтверждения следующего содержания:
C:\Folder\*, Продолжить [Y(да)/N(нет)]?
Выполнение команды будет остановлено до тех пор, пока не будет нажата либо клавиша Y, либо клавиша N. При выполнении пакетного файла в автоматическом режиме, его исполнение остановится.
Чтобы избежать этого используем перенаправление. Перенаправление осуществляется при помощи символа
|
Вертикальная черта говорит о том, что вместо вывода символа на экран его надо «отдать» следующей за символом команде. Проверим работу перенаправления. Выполните в командной строке следующую команду:
echo Y|del C:\Folder
На экране будет показан запрос на подтверждение удаления всех файлов в папке Folder, но уже с положительным ответом (Y). Все файлы из папки Folder будут удалены.
Будьте осторожны с этой командой.
Как отключить вывод на экран команд при выполнении пакетного файла
При выполнении пакетного файла на экран, помимо результатов работы команды, выводятся и сами команды. Чтобы отключить вывод команд, можно использовать символ @.
Чтобы не выводить на экран одну команду, можно поставить знак @ в начале этой команды.
echo Testing
Эта команда выведет на экран команду echo Testing, а на следующую строку — результат ее работы, слово Testing.
@echo Testing
Эта команда выведет на экран только результат работы команды, т.е. слово Testing. Сама команда выведена не будет.
Если на протяжении выполнения всего файла выводить команды на экран не нужно, то проще первой строкой в пакетном файле написать следующую команду:
@echo off
Эта команда отключит вывод команд на экран на протяжении выполнения всего пакетного файла. Чтобы сама команда не выводилась, она начинается с символа @.
Как из одного bat-файла запустить другой
Иногда, при выполнении пакетного файла, возникает необходимость запустить другой пакетный файл. Причем, в некоторых случаях, выполнение основного пакетного файла должно быть приостановлено, пока выполняется вспомогательный файл, а в других вспомогательный файл должен работать параллельно с основным.
Для примера создадим два bat файла. Один с именем 1.bat и содержащий всего одну команду
call 2.bat
Второй с именем 2.bat и также содержащий одну команду
pause
Теперь запустим файл 1.bat Откроется окно, в котором будет предложено нажать любую клавишу для продолжения, после нажатия которой окно закроется. Таким образом, вызов из одного пакетного файла другого при помощи команды call останавливает исполнение пакетного файла до тех пор, пока не завершится выполнение пакетного файла, вызванного командой call.
В другом случае, надо запустить из bat файла либо приложение, либо другой пакетный файл, не прерывая выполнения основного пакетного файла. Такое нередко бывает нужно сделать, например, принудительно открыв лог работы пакетного файла, запланированного на ночь, чтобы с утра, пользователь мог проконтролировать правильность его выполнения. Для этого используется команда start Исправим в файле 1.bat строку на
start 2.bat
и запустим файл 1.bat Теперь открылось окно, в котором для продолжения надо нажать любую кнопку, а окно основного пакетного файла (1.bat) отработав закрылось.
Таким образом, для вызова из одного пакетного файла другого, без остановки работы первого пакетного файла, нужно применять команду start.
Рассмотренные команды start и call могут использоваться не только для запуска других пакетных файлов, но и для запуска любых приложений или открытия файлов.
Например, команда start log.txt, находящаяся в теле пакетного файла, откроет файл log.txt в Notepad без остановки работы пакетного файла.
Как отправить сообщение из bat-файла
Когда пакетный файл исполняется на одной из машин в сети, то удобно проинформировать администратора об окончании его выполнения при помощи сообщения, отправленного на машину администратора. Сделать это можно, включив в пакетный файл команду
net send name Message text
Где name имя машины или пользователя, которому адресуется сообщение, а Message text — текст сообщения. После выполнения этой команды пользователю name будет отправлено сообщение.
Обратите внимание на то, что при использовании в тексте сообщения кириллицы текст должен быть набран в кодировке MS-DOS (866 кодовая страница). Иначе сообщение придет в виде нечитаемых символов. Набрать текст в кодировке DOS можно при помощи любого текстового редактора, поддерживающего эту кодировку. Это может быть, например, FAR. Откройте в FAR пакетный файл на редактирование (F4) и нажмите кнопку F8. В верхней строке редактора должна быть указана кодировка DOS, а снизу, у подсказки о быстрых клавишах, у клавиши F8 должна быть надпись Win, говорящая о том, что текущая кодировка DOS и для переключения в кодировку Win надо нажать F8.
Как автоматизировать удаление файлов по типу
Чтобы очистить диск от временных файлов можно использовать команду
del /f /s /q C:\*. tmp
Где
/f — удаляет все файлы, даже если у них установлен атрибут только чтение
/s — удаляет файлы из всех подкаталогов
/q — отключает запрос на подтверждение удаления файла
C: — диск, на котором будут найдены и удалены файлы. Можно указать не весь диск, а папку, например, C:\WinNT
*.tmp — тип файлов, которые будут удалены
Будьте аккуратны с ключем /q и типами удаляемых файлов. Команда удаляет, не спрашивая разрешения и при указании неправильного типа файлов может удалить лишнего.
Как изменить IP адрес компьютера из пакетного файла
IP адрес можно изменить при помощи команды netsh.
Чтобы правильно сменить IP адрес, сначала надо выяснить текущую конфигурацию. Сделать это можно в командной строке при помощи команды
netsh interface ip show address
Результат работы этой команды — отображение текущей конфигурации сетевого интерфейса. Нас интересует название интерфейса. Предположим, что он называется FASTNET.
Предположим, что нужно сменить IP адрес на 192.168.1.42, адресация в сети статическая, без использования DHCP, шлюз 192.168.1.1, маска 255.255.255.0 В этом случае, команда, которая должна быть выполнена из пакетного файла будет выглядеть следующим образом:
netsh interface ip set address name="FASTNET" static 192.168.1.42 255.255.255.0 192.169.1.1 1
После выполнения этой команды у интерфейса FASTNET IP адрес сменится на 192.168.1.42.
Команда netsh предоставляет широкие возможности по управлению сетевыми настройками из командной строки. Для ознакомления с другими ее функциональными возможностями пользуйтесь справкой при помощи netsh /?
Как узнать имя компьютера из bat файла
Чтобы узнать имя компьютера при выполнении bat файла (чтобы использовать это значение в дальнейшем) используйте команду
hostname
Эта команда возвращает имя компьютера, на котором она запущена.
Как переименовать файлы по маске из пакетного файла
Иногда возникает необходимость переименовать все файлы в папке по шаблону из пакетного файла. Сделать это можно при помощи следующей команды в bat-файле:
for /f "tokens=*" %%a in ('dir /b PATH\*.*') do ren PATH\%%a Prefix%%a
В этой строке надо заменить PATH\ на путь к файлам, которые будут переименованы, а Prefix на те символы, которые будут добавлены к имени файла при переименовании.
Не помещайте пакетный файл в папку, где происходит переименование, иначе он будет переименован тоже. Если в папке, где происходит переименование файлов есть подпапки, то к имени подпапки также будет добавлен префикс, т.е. подпапки будут переименованы как и файлы.
Если указать определенную маску для типов файлов, которые подлежат переименованию, например, *.txt, а не *.* как в примере, то будут переименованы файлы только указанных типов. Другие файлы и папки переименовываться не будут.
Второй вариант:set thePATH=C:\test
for %%I in (*.txt) do ren "%thePATH%\%%~nxI" "%%~nI.dat"
Как использовать в пакетном файле символ процент
Чтобы использовать символ процент (%) в пакетном файле его надо написать дважды. Напримерecho 50%%
Эта команда в bat-файле выведет на экран 50%. Если же использовать команду echo 50%, то на экран будет выведено только число 50.
Учитывайте эту особенность при использовании символа % в написании пакетных файлов.
Как из пакетного файла сделать экспорт реестра
Иногда возникает необходимость сохранить в файл определенный куст (ветку) реестра со всеми параметрами в качестве бэкапа или для других целей. Сделать это из пакетного файла можно при помощи такой команды:
regedit.exe -ea C:\environment.reg "HKEY_CURRENT_USER\Environment"
Данная команда при выполнении пакетного файла выгрузит ветку HKEY_CURRENT_USER\Environment в файл C:\environment.reg Когда потребуется восстановить значения параметров в HKEY_CURRENT_USER\Environment, будет достаточно запустить файл environment.reg. Эту команду можно использовать для ежедневного бэкапа настроек программного обеспечения и системы, которые хранятся в реестре.
Не забывайте, что если в пути, по которому должен быть сохранен выходной файл или в имени ветки реестра есть пробел, то их необходимо заключить в кавычки.
Как из пакетного файла импортировать значения переменных реестра
Если есть необходимость из пакетного файла импортировать в реестр ранее сохраненные или новые значения переменных, то это можно сделать при помощи команды
regedit.exe -s C:\environment.reg
Эта команда импортирует в реестр данные из файла environment.reg без запросов на подтверждение за счет использования ключа -s.
Как из bat файла обойти проверку даты
Некоторое программное обеспечение при запуске проверяет текущую системную дату. Если дата больше, чем заложено разработчиком, то программа не запускается. Например, разработчик считает, что версия программы может отработать месяц, а потом пользователь должен будет установить обновленную версию программы. С одной стороны это забота о пользователе, который будет иметь в своем распоряжении свежую версию программы с устраненными недочетами, по отношению к прошлым версиям. С другой стороны, производитель вынуждает пользователя скачивать новую версию даже если пользователя полностью устраивает та версия программы, которая у него установлена. Данную проблему можно легко решить при помощи следующего пакетного файла, который будет запускать программу, дожидаться ее завершения и возвращать дату на ту, которая была до запуска программы.
set tempdate=%date:~-10%
date 01-01-04
notepad.exe
date %tempdate%
В данном примере текущая системная дата сначала сохраняется в переменной, затем (во второй строке) системная дата устанавливается на 1-е января 2004 года, а потом вызывается программа, которая проверяет системную дату. В данном примере это Блокнот. До тех пор, пока открыт Блокнот, пакетный файл находится в ожидании, не завершаясь и не переводя системную дату обратно. Как только Блокнот будет закрыт, пакетный файл продолжит свое выполнение и установит системную дату на сохраненное в переменной tempdate значение, т.е. на то, которое было до запуска пакетного файла.
Не забывайте, что если путь до файла, которым запускается программа, содержит пробелы, то его (путь) необходимо заключить в кавычки. Если путь содержит кириллицу, то при написании пакетного файла необходимо использовать текстовый редактор, поддерживающий кодировку DOS (например, FAR). В противном случае, при запуске пакетного файла будет выведено сообщение о том, что «указанный файл не является внутренней или внешней коммандой…».
Если программа проверяет текущую системную дату только при своем запуске и во время работы больше этого не делает, то пакетный файл можно модифицировать, добавив перед именем исполняемого файла программы оператор start, т.е. наш пример будет выглядеть так:
set tempdate=%date:~-10%
date 01-01-04
start notepad.exe
date %tempdate%
В этом случае, пакетный файл изменит системную дату, запустит программу и не дожидаясь ее завершения вернет дату на ту, которая была до запуска программы.
Как в bat файле дождаться появления определенного файла
Иногда необходимо при появлении определенного файла в папке выполнить какое-то действие. Чтобы организовать проверку появления файла в папке можно использовать следующий пакетный файл
:test
if exist c:\1.txt goto go
sleep 10
goto test
:go
notepad
Такой пакетный файл будет проверять с интервалом 10 секунд наличие в корне диска С файла 1.txt и когда файл 1.txt появится, будет выполнено действие, указанное после метки go, т.е. в этом примере будет запущен Блокнот.
Утилита sleep свободно распространяется в составе Resource Kit. Вы можете её скачать здесь.
Если файл 1.txt большого размера и копируется откуда-то, то может получится так, что пакетный файл проверит его наличие в то время, как файл еще не скопировался или занят другим приложением. В таком случае, попытка выполнить какие-то действия с файлом 1.txt приведет к ошибке. Чтобы этого не произошло пакетный файл можно модифицировать следующим образом
:test
if exist c:\1.txt goto go
sleep 10
goto test
:go
rename c:\1.txt 1.txt
if not errorlevel 0 goto go
del c:\1. txt
Когда файл 1.txt скопировался на диск С не полностью, либо занят другим приложением, попытка его переименовать вызовет ошибку и цикл будет повторяться до тех пор, пока файл не скопируется полностью либо не будет освобожден. После того, как команда rename c:\1.txt 1.txt будет выполнена без ошибки (т.е. файл свободен), то с ним можно выполнять любые действия. В последнем примере это его удаление.
Как добавить комментарии в bat-файл
При написании большого пакетного файла очень полезно добавлять комментарии к его основным блокам. Это позволит с легкостью разобраться в том, что делают эти блоки по прошествии времени.
Комментарии можно добавить несколькими способами. Первый больше годится для написания больших комментариев, описывающих либо весь пакетный файл, либо несколько больших его блоков. Код выглядит следующим образом:
goto start
———————————————————
Этот пакетный файл предназначен
для автоматизации рутинных операций,
выполняемых ночью для синхронизации
содержимого корпоративного ftp-сервера
с ftp-серверами филиалов
———————————————————
Пакетный файл написан 01/01/2004
Последнее исправление внесено 10/02/2004
———————————————————
И т. д.
:start
Такое написание комментария при запуске пакетного файла передаст управление сразу к команде, следующей за меткой start. За это отвечает оператор перехода goto.
Более простые комментарии можно добавить, начиная строки с команды rem или с двух двоеточий, идущих друг за другом.
rem Этот блок устанавливает соединение с удаленным сервером
:: Этот блок проверяет дату изменения файлов
Комментирование больших пакетных файлов (как, в принципе, и любого кода) — хороший тон, который значительно облегчает процесс разбора этих файлов другими людьми или самим автором по прошествии значительного времени с момента написания.
Автоматическое создание резервной копии данных
Favorite любезно поделился с нами небольшим скриптом, который автоматически создаёт архивную копию важных данных. Вот его сообщение:
Скрипт архивирует папку файлопомойки (\\SERVER\e$ \Exchange)
и папку с данными юзеров (домашнюю Данные пользователей (\\SERVER\e$ \Departments))
Скрипт не архивирует медиафайлы, так как они занимают вагон места и их потеря у меня не критична
rem *******************
rem задаём винты где лежат папки для архивирования и винт куда будем бэкапить
rem *******************
SET DRIVE1ST=d:
SET DRIVE2ND=e:
rem *******************
rem пароль на архив
rem *******************
SET PASSWD=qmsdhgsdfgsdfhdsfhsdhf
rem *******************
rem если копировать для надёжности куданить на сетку
rem *******************
rem SET COPYTO=\\shpakk\c$ \!backup
rem ********************
rem *** Проверим путь назначения архива
rem ********************
%DRIVE1ST%
if not exist \!backup md \!backup
if not exist \!backup\Departments md \!backup\Departments
if not exist \!backup\Exchange md \!backup\Exchange
if not exist \!backup\MEDEA_rdisk md \!backup\MEDEA_rdisk
cd \!backup
rem ******************************
rem *** Backup \\SERVER\e$ \Exchange
rem ******************************
SET DIRNAME=Exchange
SET FILENAME=SERVER_Exchange
SET SOURCEDIR=e:\Exchange
rar a -r -m5 -dh -x*. mp3 -x*.fcd -x*.avi -x*.zip -x*.rar -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*
if not exist %DIRNAME%\%FILENAME%_new.rar goto next2
del %DIRNAME%\%FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar
copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%
:next2
rem ***************************
rem *** Backup \\SERVER\e$ \Users
rem ***************************
SET DIRNAME=Departments
SET FILENAME=SERVER_Departments
SET SOURCEDIR=e:\Departments
if not exist %DIRNAME%\%FILENAME%_new.rar goto next3
del %DIRNAME%\%FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_4.rar %FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_3.rar %FILENAME%_4.rar
ren %DIRNAME%\%FILENAME%_2.rar %FILENAME%_3.rar
ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%_2.rar
:next3
rem *******************
rem это если архив будет большим — кусками бить -v357888k
rem *******************
rem rar a -r -m5 -v357888k -dh -x*. mp3 -x*.fcd -x*.avi -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%
rem *******************
rem архивирование пошло, не берём мультимедиа файлы
rem *******************
rar a -r -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -x*.jpg -x*.tif -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%
goto next4
:next4
rem **********************************
rem *** Create repair disk on \\SERVER
rem **********************************
SET DIRNAME=MEDEA_rdisk
SET FILENAME=MEDEA_rdisk
SET SOURCEDIR=%windir%\repair
%windir%\system32\rdisk.exe /s-
rar a -r -m5 -dh -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*
if not exist %DIRNAME%\%FILENAME%_new.rar goto next5
del %DIRNAME%\%FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar
copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%
:next5
В итоге имеем 3 папки:
Departments, в ней:
SERVER_Departments_2. rar — 2х дневной давности
SERVER_Departments_3.rar — 3х дневной давности
SERVER_Departments_4.rar — 4х дневной давности
SERVER_Departments_new.rar — НОВЫЙ
SERVER_Departments_old.rar — СТАРЫЙ
Exchange
Так как архивируем обменник — он нам сильно то и не нужен храним только сегодняшний и вчерашний архивы
SERVER_Exchange.rar
SERVER_Exchange_old.rar
ну и систему на всякий в папке
SERVER_rdisk
SERVER_rdisk.rar
SERVER_rdisk_old.rar
Как запретить повторный запуск приложения
Если приложение запускается bat-файлом, то отследить (и запретить) его повторный запуск можно таким образом:
pslist.exe -e "процесс"
if %errorlevel%==1 start "" "программа"
pslist — бесплатная утилита.
Как создать папку с именем равным текущей дате
Достаточно часто необходимо создавать папку с именем равным текущей дате и затем копировать в нее, например, бэкап. Есть насколько вариантов создания такой папки:
MD %SYSTEMDRIVE%\%date:~-10%
Такая команда создаст в корне системного диска папку с именем равным текущей дате. Эта команда не сработает, если региональные установки отличны от русского и в разделителях даты используется слеш. В таком случае, поможет один из следующих скриптов:
md %systemdrive%\%date:~0,2%_%date:~3,2%_%date:~6,4%
или
md %systemdrive%\%date:~6,4%_%date:~3,2%_%date:~0,2%
Во втором случае, папки будут сортироваться по алфавиту.
Как вариант, можно рассмотреть добавление к имени файла текущей даты:
@echo off
for /F "tokens=1-4 usebackq delims=. " %%1 in (`date /t`) do set mydate=%%4.%%3.%%2
ren test.txt test%mydate%.txt
Имя файла test.txt будет переименовано в test2005.03.05.txt
Можно ли зациклить в bat-файле выполнение команды?
Иногда необходимо создать bat-файл, который будет запускать некую команду через определённый интервал времени. Для решения этой задачи можно воспользоваться Планировщиком и часто запускать bat-файл из него, а можно создать в bat-файле цикл с паузой.
Цикл организуется при помощи следующих команд::loop
... goto loop
Паузу можно создать при помощи любой команды. Например, при помощи ping:
ping -n 1 -w 100000 192.168.254.254 >nul
-n 1 — выполнить один запрос
-w 100000 — ждать ответа 100 секунд (значение указывается в миллисекундах)
192.168.254.254 — IP адрес, который заведомо не существует в локальной сети, т.е. никогда не ответит на ping
>nul — перенаправление всего вывода команды ping в никуда.
Как написать простой пакетный файл (BAT)
Пакетные файлы — это способ, с помощью которого компьютерный мастер справляется со своими задачами. Они могут автоматизировать повседневные задачи, сократить время, необходимое для выполнения чего-либо, и преобразовать сложный процесс в то, что может выполнять каждый.
В этой статье вы узнаете, как написать простой командный файл. Вы узнаете основы того, что могут делать пакетные файлы, и как их написать самостоятельно. Я также предоставлю вам дополнительные ресурсы для обучения написанию пакетных файлов (BAT).
Как написать командный файл в Windows
Прежде чем углубляться в детали, вот краткое резюме
- Откройте текстовый файл, такой как Блокнот или документ WordPad.
- Добавьте свои команды, начиная с @echo [off], а затем — каждую в новой строке — title [title вашего пакетного скрипта], echo [first line] и pause.
- Сохраните ваш файл с расширением файла .летучая мышь, например, test.bat.
- Чтобы запустить ваш пакетный файл, дважды щелкните файл BAT, который вы только что создали.
- Чтобы редактировать ваш пакетный файл, щелкните правой кнопкой мыши файл BAT и выберите редактировать.
Ваш необработанный файл будет выглядеть примерно так:
И вот соответствующее командное окно для примера выше:
Если это было слишком быстро или если вы хотите узнать больше о командах и их использовании, читайте дальше!
Шаг 1: Создайте файл BAT
Допустим, у вас часто возникают проблемы с сетью; вы постоянно попадаете в командную строку
набрав в IPCONFIG и пинг Google для устранения неполадок в сети. Через некоторое время вы понимаете, что было бы немного эффективнее, если бы вы просто написали простой BAT-файл, вставили его в USB-накопитель и использовали на машинах, которые вы устраняли.
Создать новый текстовый документ
Пакетный файл упрощает повторяемые задачи компьютера с помощью командной строки Windows. Ниже приведен пример пакетного файла, отвечающего за отображение некоторого текста в командной строке. Создайте новый BAT-файл, щелкнув правой кнопкой мыши пустое место в каталоге и выбрав новый, затем Текстовый документ.
Добавить код
Дважды щелкните этот Новый текстовый документ чтобы открыть ваш текстовый редактор по умолчанию. Скопируйте и вставьте следующий код в текстовую запись.
@echo off
title This is your first batch script!
echo Welcome to batch scripting!
pause
Сохранить как BAT-файл
Приведенный выше скрипт повторяет текст «Добро пожаловать в пакетный сценарий!». Сохраните файл, перейдя в файл, Сохранить как, а затем назовите свой файл, что вы хотите. Завершите свое имя файла добавленным .летучая мышь расширение — welcome.bat например — и нажмите Хорошо. Это завершит пакетный процесс. Теперь дважды щелкните по вновь созданному пакетному файлу, чтобы активировать его.
Не думайте, что это все, что может сделать пакетный сценарий. Параметры пакетных сценариев являются подправленными версиями кодов командной строки, поэтому вы ограничены только тем, что может сделать ваша командная строка. Для тех, кто не знаком с программой, командная строка способна на многое
,
Шаг 2. Изучите основы пакетного скриптинга
Пакетные файлы используют тот же язык, что и командная строка. Все, что вы делаете, это сообщаете командной строке, что вы хотите ввести через файл, а не набираете его в командной строке. Это экономит ваше время и усилия. Это также позволяет вам ввести некоторую логику (например, простые циклы, условные операторы и т. Д., На которые процедурное программирование способно концептуально).
@echo: Этот параметр позволит вам просмотреть ваш рабочий скрипт в командной строке. Этот параметр полезен для просмотра вашего рабочего кода. Если в пакетном файле возникнут какие-либо проблемы, вы сможете просмотреть проблемы, связанные с вашим сценарием, с помощью функции echo. Добавление следующего от этот параметр позволит вам быстро закрыть скрипт после его завершения.
заглавие: Предоставляя большую часть той же функции, что и тег в HTML, это обеспечит заголовок для вашего пакетного сценария в окне командной строки.
ЦБС: Очищает командную строку, лучше всего использовать, когда посторонний код может сделать то, к чему вы обращаетесь, нужно было найти.
бэр: Сокращение для замечание обеспечивает ту же функциональность, что и тег в HTML. Выражения Rem не вводятся в ваш код. Вместо этого они используются для объяснения и предоставления информации о коде.
%% а: Каждый файл в папке.
( «\.»): Корневая папка. При использовании командной строки необходимо направить приглашение в определенный каталог, прежде чем изменять имя файла, удалять файл и т. Д. С пакетными файлами вам нужно всего лишь вставить ваш .bat файл в каталог по вашему выбору.
Пауза: Разрешает разрыв в логической цепочке вашего .bat файла. Это позволяет пользователям читать командные строки перед тем, как продолжить работу с кодом. Фраза «Нажмите любую клавишу, чтобы продолжить …» будет означать паузу.
начать «» [веб-сайт]: Перейдите на веб-сайт по вашему выбору, используя веб-браузер по умолчанию.
IPCONFIG: Это классический параметр командной строки, который выдает информацию, касающуюся информации о сети. Эта информация включает в себя MAC-адреса, IP-адреса и маски подсетей.
пинг: Проверяет IP-адрес, отправляя пакеты данных через серверные маршруты, чтобы определить их местоположение и задержку (время отклика).
Библиотека для пакетных переменных огромна, если не сказать больше. К счастью, есть запись в Wikibook, которая содержит обширную библиотеку параметров и переменных пакетного скрипта в вашем распоряжении.
Шаг 3: Напишите и запустите ваш BAT-файл
Мы создадим два примера пакетных сценариев, которые могут упростить вашу повседневную деятельность в Интернете и в автономном режиме.
Сценарий новостей
Давайте создадим сразу полезный пакетный скрипт. Что если вы захотите открыть все свои любимые новостные сайты в момент пробуждения? Поскольку пакетные сценарии используют параметры командной строки, мы можем создать сценарий, который открывает все новостные СМИ в одном окне браузера.
Чтобы повторить процесс создания пакета: сначала создайте пустой текстовый файл. Щелкните правой кнопкой мыши пустое место в папке по вашему выбору, и выберите новый, затем Текстовый документ. С открытым текстовым файлом введите следующий скрипт. Наш пример предоставит основные американские новостные СМИ, доступные онлайн.
@echo off
start "" http://www.cnn.com
start "" http://www.abc.com
start "" http://www.msnbc.com
start "" http://www.bbc.com
start "" http://www.huffingtonpost.com
start "" http://www.aljazeera.com
start "" https://news.google.com/
Приведенный выше скрипт складывает один Начните «» параметр поверх другого, чтобы открыть несколько вкладок. Вы можете заменить ссылки, предоставленные по вашему выбору. После того, как вы ввели сценарий, отправляйтесь в файл, затем Сохранить как. В окне Сохранить как сохраните файл с .летучая мышь расширение и изменить Сохранить как тип параметр для Все файлы (*.*).
После того, как вы сохранили файл, все, что вам нужно сделать, это дважды щелкните файл BAT. Мгновенно, ваши веб-страницы откроются. Если вы хотите, вы можете разместить этот файл на рабочем столе. Это позволит вам получить доступ ко всем вашим любимым веб-сайтам одновременно.
Организатор файлов
Вы загружали несколько файлов в день, только чтобы сотни файлов забивали вашу папку для скачивания? Создайте командный файл с помощью следующего скрипта, который упорядочивает ваши файлы по типу файла. Поместите файл .bat в свою неорганизованную папку и дважды щелкните для запуска.
@echo off
rem For each file in your folder
for %%a in (".\*") do (
rem check if the file has an extension and if it is not our script
if "%%~xa" NEQ "" if "%%~dpxa" NEQ "%~dpx0" (
rem check if extension folder exists, if not it is created
if not exist "%%~xa" mkdir "%%~xa"
rem Move the file to directory
move "%%a" "%%~dpa%%~xa\"
))
Вот пример моего рабочего стола ранее, свободный ассортимент файлов изображений.
Вот те самые файлы потом.
Это так просто. Этот пакетный скрипт также будет работать с любым типом файла, будь то документ, видео или аудио файл. Даже если ваш компьютер не поддерживает формат файла, скрипт создаст папку с соответствующей меткой для вас. Если у вас уже есть папка JPG или PNG в вашем каталоге, скрипт просто переместит ваши типы файлов в их соответствующее местоположение.
Автоматизируйте простой материал с помощью пакетных скриптов
Это всего лишь пример того, что могут предложить пакетные сценарии. Если вам нужно сделать что-то простое много раз — будь то упорядочение файлов, открытие нескольких веб-страниц, массовое переименование файлов или создание копий важных документов — вы можете сделать утомительные задачи простыми с помощью пакетных сценариев.
Сделайте еще больше, включив операторы IF в свои пакетные сценарии
, И если вы действительно заинтересованы, вы можете даже изучить вместо этого сценарии PowerShell
,
Запустить BAT файлов из других BAT файлов?
У меня есть несколько файлов .bat для одной и той же программы w/ различных параметров. Возможно ли это?
Вот что у меня есть прямо сейчас:
@echo off
Cls
color 0A
echo title
PAUSE
:Main
color 0A
Cls
echo 1 : name1. bat
echo 2 : name2.bat
echo 3 : name3.bat
set /p file=Enter the number of the file you want to run:
Cls
Сработает ли что-то подобное? что мне нужно сделать, чтобы заставить его запустить файл bat при вводе его номера?
command-line
batch-file
cmd
Поделиться
Источник
Dylan
30 июня 2013 в 01:31
5 ответов
- Логика запуска набора bat-файлов
У меня есть код python, который делает это: Напишите файлы типа A BAT (скажем, abat1, abat2..) Запустите type A BAT files с помощью команды dos start abat1.. и так далее Какой-то другой код. Запись BAT-файлов типа B (скажем, bbat1, bbat2..) Запустите BAT-файлы типа B с помощью команды dos start…
- Как запустить несколько файлов BAT в bat файл с аргумент rootpath
Я хочу запустить ONE batch file, который запускает 4 других пакетных файла. Проблема: выполняется только первый файл CMD. Я посмотрел на аналогичные вопросы, опубликованные здесь: Как запустить несколько файлов .BAT в файле .BAT И вот: как запустить несколько пакетных файлов из одного batch file с…
1
Существует несколько способов решения этой проблемы. Самый короткий (самый простой) из них: 1 — Убедитесь, что пользователь может вводить допустимые входные значения только с помощью команды choice
, и 2 — назовите все пакетные файлы именами фиксированного формата (как в вашем примере) и вызовите соответствующий непосредственно.
@echo off
Cls
color 0A
echo title
PAUSE
:Main
color 0A
Cls
echo 1 : name1.bat
echo 2 : name2.bat
echo 3 : name3.bat
choice /C:123 /M:"Enter the number of the file you want to run: "
call name%errorlevel%.bat
Поделиться
Aacini
30 июня 2013 в 02:40
0
да, у вас могут быть циклы условий. вы можете проверить значение переменной и выполнить ее следующим образом. вы также можете использовать оператор call
.
IF "%file%" EQU "1" (
name1.bat
)
IF "%file%" EQU "2" (
name2.bat
)
IF "%file%" EQU "3" (
name3.bat
)
Поделиться
DevZer0
30 июня 2013 в 01:37
0
Текущий файл .bat работает на диске C, и вы хотите запустить файл .bat, помещенный в каталог D:, а затем в первую запись .bat.
D:
cd "D:/folder/folder2/"
call batFile.bat
Поделиться
Muhammad Imran Tariq
29 февраля 2016 в 09:43
- SFX с 7-zip : можно ли запустить включенный файл .bat *before*, извлекая файлы?
Я создаю исполняемый файл SFX с 7-zip (версия командной строки) и модулем 7zsd. sfx. Мой текущий конфигурационный файл выглядит следующим образом : ;!@Install@!UTF-8! Title=Test BeginPrompt=Test CancelPrompt=Do you want to cancel the extraction? ExtractDialogText=Please, wait……
- Powershell / слияние файлов Bat
Я полный новичок, когда дело доходит до написания сценариев Powershell, но у меня есть разумный опыт написания Bat-файлов. У меня есть скрипт powershell, который распаковывает bat, reg-файл и msi, скрипт powershell затем запускает bat-файл, я не думаю, что это лучший способ сделать это, есть ли…
0
Привет там я предполагаю, что вы хотите начать batch file выбора пользователей
Вот код :
@echo off
Cls
color 0A
echo title
PAUSE
:Main
color 0A
Cls
echo 1 : name1.bat
echo 2 : name2.bat
echo 3 : name3.bat
set /p file=Enter the number of the file you want to run
if %file%==1 start name1. bat
if %file%==2 start name2.bat
if %file%==3 start name3.bat
goto end
:end
echo File is now running!
pause
Поделиться
Kingzel
15 марта 2017 в 14:00
0
Вы также можете использовать опцию goto:
@echo off
Cls
color 0A
echo title
PAUSE
:Main
color 0A
Cls
echo 1 : name1.bat
echo 2 : name2.bat
echo 3 : name3.bat
set /p file=Enter the number of the file you want to run:
Cls
GOTO %file%
:1
start name1.bat
exit
:2
start name2.bat
exit
:3
start name3.bat
exit
Поделиться
Johan A.
17 марта 2017 в 12:14
Похожие вопросы:
Как запустить несколько файлов .BAT в файле .BAT
Я пытаюсь заставить свой commit-build.bat выполнить другие файлы .BAT как часть нашего процесса сборки. Содержание commit-build.bat : msbuild.bat unit-tests.bat deploy.bat Это кажется достаточно…
Как я могу запустить файл .bat из Excel?
У меня есть 5 пакетных файлов в разных местах, и я хочу запустить их через Excel, как показано ниже: F:\Financial\Data\Reports\ExpensesYTD Batch2.bat, Batch3.bat, Batch5.bat…
Мне нужен файл .bat, чтобы выбрать несколько файлов и запустить скрипт perl
В основном я хочу передать несколько входных файлов в качестве аргументов и запустить свой скрипт perl. У меня уже есть скрипт .bat, который выбирает один файл. Есть ли в любом случае файл .bat,…
Логика запуска набора bat-файлов
У меня есть код python, который делает это: Напишите файлы типа A BAT (скажем, abat1, abat2..) Запустите type A BAT files с помощью команды dos start abat1.. и так далее Какой-то другой код. Запись…
Как запустить несколько файлов BAT в bat файл с аргумент rootpath
Я хочу запустить ONE batch file, который запускает 4 других пакетных файла. Проблема: выполняется только первый файл CMD. Я посмотрел на аналогичные вопросы, опубликованные здесь: Как запустить…
SFX с 7-zip : можно ли запустить включенный файл .bat *before*, извлекая файлы?
Я создаю исполняемый файл SFX с 7-zip (версия командной строки) и модулем 7zsd.sfx. Мой текущий конфигурационный файл выглядит следующим образом : ;!@Install@!UTF-8! Title=Test BeginPrompt=Test…
Powershell / слияние файлов Bat
Я полный новичок, когда дело доходит до написания сценариев Powershell, но у меня есть разумный опыт написания Bat-файлов. У меня есть скрипт powershell, который распаковывает bat, reg-файл и msi,…
Выполнение файлов bat один за другим
То, что я получил, — это список файлов bat: file1.bat file2.bat … file29.bat Мне нужно, чтобы они бегали друг за другом. То есть, когда file1.bat закрывается file2.bat начинается и так далее. Я…
Копирование нескольких файлов в bat-файл
Я хочу скопировать несколько файлов с помощью bat-файла. Я преуспел с этим сценарием. xcopy /-y C:\Users\Robin\Desktop\bat\test1.csv C:\Users\Robin\Desktop\ xcopy /-y…
Я хочу запустить 2 .bat файлов из другого .bat файла
bat-файлы из другого файла Main.bat Файлы содержат что-то вроде следующего, и я хочу, чтобы оба они запускались с задержкой в 15 секунд и оставались до тех пор, пока я не закрою каждый из них с…
Что такое start.bat?
РЕКОМЕНДУЕМ: Нажмите здесь, чтобы исправить ошибки Windows и оптимизировать производительность системы
Процесс, известный как PCDApp, принадлежит программе Busca Rápida от неизвестно.
Описание: Start.bat не является обязательным для ОС Windows и вызывает относительно мало проблем. Start.bat находится в подпапке папки профиля пользователя — обычно это C: \ Users \ USERNAME \ AppData \ Roaming \ Microsoft \ Windows \ Пуск \ Меню \ Программы \ Запуск \ . Известные размеры файлов в Windows 10/8/7 / XP составляют 26 байтов (25% всех вхождений), 35 байтов и еще 5 вариантов.
В программе есть видимое окно. Процесс не имеет описания файла. Процесс запускается при запуске Windows (см. Раздел реестра: папки пользовательской оболочки, MACHINE \ Run, TaskScheduler, MACHINE \ папки пользовательской оболочки). Start.bat не является системным файлом Windows. start.bat представляется сжатым файлом. Поэтому технический рейтинг надежности 68% опасности .
- Если start.bat находится в подпапках «C: \ Program Files», тогда рейтинг надежности 71% опасности . Размер файла составляет 30 байт (33% всех вхождений), 36 байт, 125 байт, 26 байт или 4852 байт. В программе есть видимое окно. Там нет описания программы. Это не системный файл Windows. Программное обеспечение запускается при запуске Windows (см. Раздел реестра: папки пользовательской оболочки, MACHINE \ Run, TaskScheduler, MACHINE \ папки пользовательской оболочки). start.bat представляется сжатым файлом. Деинсталляция этого варианта: Если у вас есть какие-либо проблемы с start.bat, вы можете сделать следующее:
1) безопасно удалить программу с помощью программы удаления Busca Rápida (Панель управления ⇒ Удалить программу)
2) обратиться за консультацией к поставщику программного обеспечения www. mundopositivo.com.br.
- Если start.bat находится в подпапках диска C: \, тогда рейтинг надежности 66% опасности . Размер файла составляет 62 байта. В программе есть видимое окно. Процесс не имеет описания файла. Программа запускается при запуске Windows (см. Раздел реестра: Папки оболочки пользователя, MACHINE \ Run, TaskScheduler, MACHINE \ Папки оболочки пользователя). Файл start.bat не является системным файлом Windows. start.bat представляется сжатым файлом.
Внешняя информация от Пола Коллинза:
- «обмен печатью» определенно не требуется. Добавлено ZCREW TROJAN!
Важно: некоторые вредоносные программы маскируют себя как start.bat. Поэтому вам следует проверить процесс start.bat на вашем ПК, чтобы убедиться, что это угроза. Мы рекомендуем Security Task Manager для проверки безопасности вашего компьютера. Это был один из лучших вариантов загрузки The Washington Post и PC World .
Аккуратный и опрятный компьютер — это главное требование для избежания проблем с запуском. Это означает запуск сканирования на наличие вредоносных программ, очистку жесткого диска с использованием 1 cleanmgr и 2 sfc / scannow, 3 удаления ненужных программ, проверку наличия программ автозапуска (с использованием 4 msconfig) и включение автоматического обновления Windows 5. Всегда не забывайте выполнять периодическое резервное копирование или, по крайней мере, устанавливать точки восстановления.
Если вы столкнулись с реальной проблемой, попробуйте вспомнить последнее, что вы сделали, или последнее, что вы установили до того, как проблема появилась впервые. Используйте команду 6 resmon, чтобы определить процессы, которые вызывают вашу проблему. Даже для серьезных проблем, вместо переустановки Windows, лучше восстановить вашу установку или, для Windows 8 и более поздних версий, выполнить команду 7 DISM.exe / Online / Cleanup-image / Restorehealth. Это позволяет восстанавливать операционную систему без потери данных.
Чтобы помочь вам проанализировать процесс start.bat на вашем компьютере, оказались полезными следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Уникальный рейтинг риска безопасности указывает на вероятность того, что процесс является потенциальным шпионским ПО, вредоносным ПО или трояном. B Malwarebytes Anti-Malware обнаруживает и удаляет спящие шпионские, рекламные программы, трояны, клавиатурные шпионы, вредоносные программы и трекеры с вашего жесткого диска.
Связанный файл:
vc.exe kmpprocess.exe logmeinsystray.exe start.bat 5kplayer.exe winwordc.exe d3doverriderhooks.dll starterhelper.dll zdwlan.exe softosd.exe 65srcas.dll
windows-10 — Это (del.bat) вредоносная программа или шутка?
Давайте пройдемся по этой строке за раз.
@Echo Off
Команды пакетного скрипта не будут выводиться на консоль при запуске.
cd /d C:\Windows\SysWOW64\
Сценарий перейдет в папку SysWOW64 на диске C:\
. Ключ /d
заставляет скрипт изменить текущий диск на C:\
если он будет другим.
:Start
Это ярлык, который упоминается позже.
del svchost.exe
Если svchost.exe
существует в текущем каталоге, удалите его. Это не отправляет его в корзину; это навсегда, если вам не повезло с программным обеспечением для восстановления файлов. Обратите внимание, что при этом удаляется исполняемый файл svchost.exe
который используется для 32-разрядных служб, работающих в 64-разрядной системе. svchost.exe
также находится в вашей папке System32
, которая в 64-разрядной системе используется для 64-разрядных служб (в то время как в 32-разрядной системе она используется для 32-разрядных служб).
If Exist svchost.exe Goto Start
Если svchost.exe все еще существует по какой-либо причине, сценарий будет возвращаться к метке :Start
определенной ранее, и затем будет пытаться снова запустить del svchost.exe
пока не будет удален.
del %0
После удаления svchost.exe
оператор If не будет возвращаться к метке, а вместо этого выполнит ее. Обычно это заставит скрипт удалить свой собственный файл, однако, согласно этому комментарию на SO-ответ, это не сработает, так как текущий путь изменился бы?
Я бы не стал его запускать, если вы цените свою операционную систему.
Что касается разрядки вашей батареи, я вижу, что она работает бесконечно, если не может удалить svchost.exe
(не хватает прав, файл используется?). В этом случае скрипт будет пытаться удалить файл сотни, если не тысячи раз в секунду; Я вижу, как трескающий жесткий диск истощает процессор (спасибо Sampo за исправление!), Разряжая батарею.
Урок bat-аники
Урок bat-аники
Автор: Алексей Александров
Источник: RSDN Magazine #2-2005
Опубликовано: 11.07.2005
Исправлено: 10.12.2016
Версия текста: 1.0
Введение
Мы все любим писать серьезные вещи на серьезных языках. Шаблоны, C++, Reflection, Perl и многое другое – вот то, что мы любим, то, чему посвящаем длинные сообщения в форумах, то, что снится нам по ночам.
Однако в нашей повседневной деятельности встречаются и вещи, которые не так интересны и интеллектуальны. Мы не очень любим говорить об этом, делаем вид, что Это – грязно, нечистоплотно и недостойно нашего внимания. Однако, приходит день, приходит час и перст Судьбы находит нас – нам надо написать еще один батничек… Иногда это запускалка для построения проекта, которая должна при ошибке компиляции скопировать логи на сетевой диск, иногда – запуск обновления исходных текстов из SVN. Иногда – что-нибудь еще.
К чему я это все? А к тому, что поговорим мы о полезных хитростях при написании файлов сценариев на встроенном командном языке Windows. К счастью, это занятие не является доминирующим в профессиональной деятельности автора, так что я не обязуюсь заполнить абсолютно все пробелы в данной области. Кроме того, рожденный ползать летать не может, и из cmd.exe, увы, не получится ни /usr/bin/perl, ни даже /bin/sh. Так что, все нижеприведенное – просто некоторые интересные факты из жизни файлов с расширением bat, на которые автор обратил внимание во время решения различных практических задач автоматизации.
Наш урок будет построен по сугубо практическому принципу, известному в народе как Cookbook. Иными словами, я не буду вдаваться в синтаксические и семантические дебри командного языка Windows, а лишь продемонстрирую его возможности (хотел написать «мощь», но все-таки передумал). Именно поэтому большинство следующих заголовков будет начинаться со слова «Как». Впрочем, для полноты по ходу развития событий будут даваться подробные комментарии, в том числе и по языковым конструкциям.
ПРЕДУПРЕЖДЕНИЕ Практически все описанные здесь рецепты подойдут только для Windows 2000 и старше. Bat-язык Windows 9x, к счастью, можно считать почившим, так что здесь он не рассматривается. Более того, диалекты cmd.exe операционных систем Windows 2000, Windows XP и Windows Server 2003 также немного различаются. Все приведенное ниже создано и проверено на компьютере под управлением операционной системы Windows XP. За подробной информацией по различиям в реализации той или иной команды обращайтесь к [1].
|
Как экранировать символ?
В командном языке Windows существует некоторый набор символов с высоким приоритетом, которые всегда трактуются как спецсимволы. К ним, в частности, относятся:
- Операторы перенаправления ввода-вывода <, >, >>.
- Оператор конвейера |.
- Операторы объединения команд ||, & и &&.
- Оператор разыменования переменной %…%.
В случае если символ, относящийся к одному из таких операторов, должен быть включен в вашу команду в его литеральном смысле, вас ждут определенные неожиданности. Например, при выполнении вот такой строки
echo The ratio should be up to 10%. |
символ процента будет «съеден» интерпретатором, который решит, что это попытка вывода значения какой-то переменной. В случае со знаком процента решение довольно хорошо известно и состоит в удвоении этого символа:
echo The ratio should be up to 10%%. |
после чего все заработает так, как надо. Однако в других случаях все менее очевидно. Рассмотрим командный сценарий, который генерирует незатейливый HTML-файл:
@echo off set OUTPUTFILE=%1 echo<html> >%OUTPUTFILE% echo<head> >>%OUTPUTFILE% echo<title>This is a greeting page</title> >>%OUTPUTFILE% echo</head> >>%OUTPUTFILE% echo<body> >>%OUTPUTFILE% echoHello World! >>%OUTPUTFILE% echo</body> >>%OUTPUTFILE% echo</html> >>%OUTPUTFILE% |
К сожалению, при попытке запуска этого «чуда инженерного разума» нас постигнет неудача в виде сообщения об ошибке
> was unexpected at this time. --deliver-target=ftp://ftp.site.com |
Помните лишь, что чудо-символ должен быть последним в строке – скажите «Нет!» концевым пробелам.
Как определить имя каталога, в котором находится запущенный командный файл?
Иногда сценарию надо знать полный путь к себе самому и/или к каталогу, в котором он находится. Это может понадобиться по разным причинам. Например, он должен достать из системы контроля версий исходники в каталог <script-dir>/src рядом с собой. Или, запускаются тесты из каталога <script-dir>/tests, и перед их запуском надо добавить каталог <script-dir>/bin в переменную PATH.
Можно, конечно, рассчитывать на то, что командный файл был вызван из того же каталога, где он находится, и тогда в качестве вышеупомянутого <script-dir> можно использовать переменную окружения %CD% — полный путь к текущему каталогу. Однако любые допущения в нашем деле недопустимы (хороший каламбур, однако!). Поэтому приведу более надежное решение.
Прежде всего, вспоминаем, что переменная %0 в bat-файле соответствует нулевому аргументу командной строки, т.е. имени самого файла. После этого читаем скудную документацию для команды call:
и обнаруживаем, что при использовании нумерованных переменных %0-%9 можно использовать некоторые модификаторы:
%~1 - разворачивает %1, удаляя кавычки (") %~f1 - разворачивает %1 в полный квалифицированный путь %~d1 - разворачивает %1 в букву диска %~p1 - разворачивает %1 в путь %~n1 - разворачивает %1 в имя файла %~x1 - разворачивает %1 в расширение файла %~s1 - развернутый путь будет содержать только короткие имена %~a1 - разворачивает %1 в атрибуты файла %~t1 - разворачивает %1 в дату/время создания файла %~z1 - разворачивает %1 в размер файла %~$PATH:1 - Ищет в каталогах, перечисленных в переменной среды PATH, и разворачивает %1 в полное квалифицированное имя первого совпадения. Если имя перменной среды не определено, или если файл не найден, этот модификатор вернет пустую строку |
и, более того:
Модификаторы можно объединять для получения сложных результатов: %~dp1 - разворачивает %1 в букву диска и путь %~nx1 - разворачивает %1 в имя файла с расширением %~dp$PATH:1 – ищет %1 в каталогах, перечисленных в переменной среды PATH, и разворачивает в букву диска и путь к первому найденному файлу. %~ftza1 - разворачивает %1 в строку, подобную DIR |
Таким образом, правильным будет использовать в качестве тега <script-dir> сочетание %~dp0, которое будет раскрыто в полный путь к каталогу, где находится сценарий. Например,
"%~dp0\packagebin. --deliver-target=ftp://ftp.site.com --deliver-source="%~dp0\bin" |
Обратите внимание на использование кавычек – потенциально каталог может иметь в своем пути пробел. Кавычки избавят от проблем в этом случае.
ПРЕДУПРЕЖДЕНИЕ Опасайтесь бездумного применения команды cd %~dp0 без проверки результата выполнения. Теоретически, эта команда должна сменить текущий каталог на каталог, в котором расположен командный файл. Как правило, это работает. Однако возможны неожиданности. Однажды был написан простой командный сценарий, задача которого была просто удалить все каталоги рядом с собой. В «свою» директорию он переходил как раз через cd %~dp0. Все было проверено на локальной машине – работало замечательно. После этого сценарий был помещен на файл-сервер, где ему и полагалось быть. Я зашел с помощью Far в сетевой каталог, и для контрольной проверки решил запустить файл еще раз. Дальнейшее словно в тумане. cmd.exe правильно определил местонахождение bat-файла: \\servername\sharename\directory. Однако при попытке сделать туда cd, он сказал, что UNC-пути в качестве текущих каталогов не поддерживаются и лучше он сменит текущий каталог на C:\WINDOWS… Это было действительно мудрое решение… Часть сценария, отвечавшая за удаление всех каталогов, сработала отлично – хорошо, что я успел вовремя остановить это безумие.
В тот день я узнал, что такое System Restore…
|
Как получить короткое (8.3) имя файла?
«А зачем? – спросите вы – Ведь мы живем в мире Интернета, Web-сервисов и NTFS с длинными именами файлов». Это действительно так, но иногда встречаются программы, которые отчаянно сопротивляются прогрессу, и в частности, не любят имен файлов и полных путей с пробелами. Одной из таких программ, кстати, является утилита build.exe из Windows DDK… В таких ситуациях спасает использование короткого, «беспробельного» DOS-имени для файла.
ПРЕДУПРЕЖДЕНИЕ Доступ к файлу по короткому имени может быть не всегда возможен. На файловой системе NTFS создание коротких псевдонимов для файлов может быть отключено путем установки в единицу значения «NtfsDisable8dot3NameCreation» в ключе реестра «HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem».
|
Итак, все же (в предположении, что надругательства над NTFS не было) – как? Внимательный читатель должен был заметить в предыдущем разделе, что при обращении к переменным %0 — %9 можно использовать префикс
%~s1 - expanded path contains short names only |
который нам как раз мог бы помочь. Но есть засада – все эти полезные префиксы нельзя использовать с произвольной переменной окружения, а присваивание переменным %0 — %9 не поддерживается. К счастью, описываемые префиксы можно еще использовать с переменными цикла for, и это дает нам способ достичь требуемого результата. > «%PROGRAMFILESSHORT%»
Этот и другие модификаторы можно использовать и с любой другой формой цикла for, подробнее о которых можно узнать из:
Как перенаправить стандартный вывод в файл?
Плоха та короткая программа, которая не стремится стать большой. К сожалению, это правило применимо и к командным файлам Windows тоже – иногда bat-файлы вырастают до довольно больших размеров. Если при этом результат выполняемых команд должен журналироваться, то все становится совсем плохо – почти каждая строка имеет хвостик типа
echo Cleaning up the target directory >>%LOGFILE% ... echoThe target directory has been cleaned >>%LOGFILE% |
Гораздо проще было бы перенаправить стандартный вывод в файл, чтобы все команды echo и вообще, все, что выводится на экран, автоматически попадали в журнальный файл. >
Здесь делается то же, что и раньше, но с перенаправлением стандартного вывода в файл out.html. Делается это простым способом – перезапуском сценарием самого себя. Сначала проверяется, не установлена ли переменная окружения STDOUT_REDIRECTED. Если она установлена, значит, сценарий уже перезапущен с перенаправленным выводом и можно просто продолжить работу. Если же переменная не установлена, то мы ее устанавливаем и перезапускаем скрипт (cmd.exe /c %0) с таким же набором параметров, что и исходная команда (%*) и перенаправленным в файл стандартным выводом (>%OUTPUT%). После завершения выполнения «перенаправленной» команды выходим.
Такое «единовременное» перенаправление имеет и еще один неочевидный плюс: файл открывается и закрывается только один раз, и всем командам и дочерним процессам передается дескриптор уже открытого файла. Во-первых, это чуть-чуть улучшит производительность (жизнь удалась – сроду бы не подумал, что буду когда-нибудь писать о производительности в bat-файлах). Во-вторых, это поможет избежать проблемы с невозможностью открыть файл для записи. Такое может случиться, если после выполнения одной из команд останется «висеть» какой-нибудь процесс. Он будет держать дескриптор интересующего нас файла и перенаправление вывода в этот файл для всех последующих команд провалится. Проблема может показаться надуманной, но однажды она украла у меня 2 часа жизни…
Как сложить два числа?
Краткий ответ – смотри:
Длинный ответ таков. В bat-файлах можно производить довольно-таки продвинутые вычисления – продвинутые не в сравнении с другими языками, а в сравнении с отсутствием возможности что-либо вычислить вообще. Вычисление осуществляется командой set, если она выполняется с ключом /a. Поддерживается практически полный набор операторов языка C, включая шестнадцатеричный модификатор 0x. Переменные окружения в выражении не обязательно заключать в знаки процента – все, что не является числом, считается переменной. Подробнее – все-таки в man set, тьфу, то есть в set /?. А здесь напоследок – просто несколько примеров.
@echo off set ARG=1 remset /a RESULT=ARG + 2 echo%RESULT% remremset /a RESULT="ARG << 2" echo%RESULT% remset /a RESULT=0x1234 + 0x6786 echo%RESULT% rem |
А можно создать в bat-файле функцию?
Да, можно. Более того, иногда даже нужно. Правда, функциями это можно назвать условно. Есть особый синтаксис команды call, который позволяет перейти на метку в этом же bat-файле с запоминанием места, откуда был произведен этот вызов:
call :метка аргументы |
Возврат из функции производится командой:
exit /b [опциональный код возврата] |
Ключ /b здесь очень важен: без него будет произведен выход не из функции, а из сценария вообще.
За подробностями обращайтесь к:
Что интересно, команда call с таким синтаксисом поддерживает рекурсивные вызовы с автоматическим созданием нового фрейма для переменных аргументов %0-%9. Иногда это может быть полезным. Вот классический пример рекурсивного подсчета факториала на командном языке:
@echo off call :factorial %1 echo %RESULT% exit remremremremrem:factorial if %1 == 0 ( set RESULT=1 exit /b ) if %1 == 1 ( set RESULT=1 exit /b ) set /a PARAM=%1 - 1 call :factorial %PARAM% set /a RESULT=%1 * %RESULT% exit /b |
Пример работы:
> factorial.bat 10 3628800 |
Как можно избежать использования goto?
Любой хоть сколько-то осмысленный *. bat-файл длиной больше 50 строк является ярким лозунгом в поддержку работы Дейкстры «О вреде оператора goto». Мешанина из переходов вперед и назад действительно является кодом «только для записи». Можно ли что-то предпринять по этому поводу?
На самом деле можно. Как правило, большинство меток и переходов используются для организации ветвлений при проверке условий, т.е. банальных if-then-else блоков. В оригинале, bat-язык поддерживал только одну команду в блоке then, что автоматически приводило к идиомам вида:
if condition goto :THEN remremgoto IF_END :THEN remrem:IF_END |
Но к счастью, командный интерпретатор cmd.exe современных ОС Windows 2000 и старше поддерживает блоки команд в конструкциях ветвления, что устраняет необходимость применения меток. Блоки команд заключаются в круглые скобки. Выглядит это так (имитируя C/C++ indentation style):
if condition ( remrem) else ( remrem) |
Конкретный пример использования:
@echo off set BUILDMODE=%1 if "%BUILDMODE%" == "" ( echoFAIL: Аргумент является обязательным ^(--debug, --release^)exit /b 1 ) remset BUILDMODE=%BUILDMODE:-=% if "%BUILDMODE%" == "debug" ( echoINFO: Устанавливаем debug-режим окруженияset CCFLAGS=/Od /MDd /Z7 ) else ( echoINFO: Устанавливаем release-режим окруженияset CCFLAGS=/O2 /MD ) |
На мой взгляд, с этим уже вполне можно жить. Но, как всегда, жизнь не так проста, как кажется. Есть одна проблема. Переменные, использующиеся в блоках then и else, раскрываются перед началом выполнения этих блоков, а не в процессе выполнения. В приведенном примере это не вызывает никаких проблем, однако в следующем вызовет:
if "%BUILDMODE%" == "debug" ( echoINFO: Устанавливаем debug-режим окружения set OPTFLAGS=/Od set CCFLAGS=%OPTFLAGS% /MDd /Z7 ) else ( echoINFO: Устанавливаем release-режим окружения set OPTFLAGS=/O2 set CCFLAGS=%OPTFLAGS% /MD ) |
Загвоздка в том, что в обоих блоках подстановка переменной OPTFLAGS произойдет до того, как она будет изменена в процессе выполнения этого блока. Соответственно, в CCFLAGS будет подставлено то значение, которое OPTFLAGS имела на момент начала выполнения данного if-блока.
Решается эта проблема путем использования отложенного раскрытия переменных. Переменные, заключенные в !…! вместо %…%, будут раскрыты в их значения только в момент непосредственного использования. Данный режим по умолчанию отключен. Включить его можно либо использованием ключа /V:ON при вызове cmd.exe, либо использованием команды
setlocal enabledelayedexpansion |
в тексте самого bat-файла. Второй способ мне представляется более удобным – не очень здорово требовать от кого-то запуска твоего сценария с определенным параметром.
С учетом сказанного предыдущий «неправильный» пример может быть исправлен так:
setlocal enabledelayedexpansion remif "%BUILDMODE%" == "debug" ( echoINFO: Setting up debug mode environment set OPTFLAGS=/Od set CCFLAGS=!OPTFLAGS! /MDd /Z7 ) else ( echoINFO: Setting up release mode environment set OPTFLAGS=/O2 set CCFLAGS=!OPTFLAGS! /MD ) |
Вот теперь это почти полноценный if-then-else блок. , иначе синтаксический анализатор путается…
Но в любом случае, это гораздо лучше безумного количества меток и переходов.
Как обработать текстовый файл?
Иногда в командном файле необходимо получить доступ к содержимому некоторого текстового файла и некоторым образом это содержимое обработать. Например, прочитать файл настроек программы.
Для привнесения еще большей конкретики в процесс изучения зададимся целью прочитать файл с настройками следующего содержания:
buildmode=release compiler=cl.exe arch=x86 |
Ничего сверхъестественного – простой key=value формат с возможностью вставки Unix-style комментариев. Помочь в чтении и обработке этого файла нам сможет команда for. Ее дополнительные опции позволяют задать и разделители, и символ начала комментария, и кое-что еще. Вот командный файл, который выполняет поставленную задачу:
@echo off remremremcall :read_settings %~dp0\settings.txt || exit /b 1 remechoBuild mode : %BUILDMODE%echoCompiler : %COMPILER% echoArchitecture: %ARCH% remexit /b 0 remremremrem:read_settings set SETTINGSFILE=%1 remif not exist %SETTINGSFILE% ( echoFAIL: Файл с настройками отсутствуетexit /b 1 ) remremremremremremremremremremfor /f "eol=# delims== tokens=1,2" %%i in (%SETTINGSFILE%) do ( remremremset %%i=%%j ) exit /b 0 |
Обильные комментарии должны помочь легко разобраться, что к чему. За подробностями, как обычно, отошлю к:
Кстати, возможности команды for не ограничиваются чтением из файла. Возможно также чтение вывода другой команды. Например, так:
@echo off for /f "tokens=* usebackq" %%i in (`cmd.exe /c ver`) do ( set VERSION=%%i ) echo%VERSION% |
Особенно меня умиляет наличие опции “usebackq”, которая делает синтаксис отдаленно похожим на юниксовый. И в стенах царства Билла есть граждане, скучающие по /bin/sh и пытающиеся хоть как-то скрасить существование свое и окружающих. Следующий совет это также косвенно подтверждает.
Что это за упомянутые ранее операторы объединения команд?
Это операторы &, && и ||. Они практически совсем не освещены в документации, но полезны в повседневности. Они позволяют объединять несколько команд в одну, т.е. примерно так:
command1 & command2 command1 && command2 command1 || command2 |
Форма этих операторов весьма соответствует их содержанию. В случае, пожалуй, наименее полезного оператора & вторая команда будет просто выполнена после первой, т.е. это равносильно простой записи:
Оператор && гарантирует, что вторая команда будет выполнена только, если первая была выполнена успешно, т.е. с нулевым кодом возврата (он же %errorlevel%). Такие конструкции очень популярны в мире shell-сценариев Unix. Например:
Я был приятно удивлен, узнав, что cmd.exe тоже умеет выполнять такие конструкции. Это безопаснее и правильнее, нежели простое последовательное выполнение этих команд, и короче и проще, чем строгая проверка и обработка кодов возврата. Очень удобно при написании на скорую руку. Не менее полезен иногда и оператор ||. Суть его тоже логична – выполнить вторую команду, если первая дала сбой. Часто встречается в таких идиомах:
Если перейти в каталог sources не удастся, то будет произведен выход с кодом ошибки 1. Если же первая команда отработает нормально, то вторая выполнена не будет. Например, такая простейшая защита помогла бы в случае с cd по UNC-адресу, описанному ранее.
Можно ли написать на bat-языке серьезную программу?
Пожалуй, нет. Серьезная программа должна все-таки выглядеть серьезно. А все написанное на командном языке Windows таковым назвать можно лишь с о-о-о-чень большой натяжкой. Так что для решения более сложных задач автоматизации лучше все-таки взять что-нибудь более функциональное:
- Perl
- Python
- Ruby
- JScript / VBScript
Последние, кстати, присутствуют в Windows 2000/XP по умолчанию (с некоторыми функциональными различиями) и в целом могут считаться заменой *.bat языку. Однако сдается мне, что *.bat-файлы проживут еще очень долго.
Дай Бог, чтобы я ошибся…
Материалы по теме
-
Windows Batch Files – Commands Reference. -
Windows 2000. Команды: Карманный справочник. Э. Фриш. – М.: Мир, 2003.
Эта статья опубликована в журнале
RSDN Magazine
#2-2005. Информацию о журнале можно найти здесь
Пакетные файлы
Главная /
Ассемблер /
Для чайников /
Быстрый старт /
MASM, TASM и WASM /
ПРИМЕЧАНИЕ
Рисунки на этой странице не отображаются, но вы можете найти их в книге.
Как вы уже наверняка убедились, ассемблирование программ дело довольно скучное.
Приходится набирать в командной строке довольно много букв. А если вы пишите реальную
программу, то повторять эту операцию придётся очень много раз.
Существенно упростить эту процедуру можно с помощью старых добрых BAT-файлов (их ещё называют
пакетные файлы). BAT-файл (или пакетный файл) – это обычный текстовый файл
с расширением BAT, в котором записываются команды для выполнения операционной системой.
Точно также, как вы это делаете в командной строке. Только в BAT-файле можно записать
сразу несколько команд, и все эти команды затем можно выполнить щелчком мыши. Для
любопытных рекомендую ознакомиться с
контрольной работой по BAT-файлам, где приведены примеры
создания относительно сложных файлов. Набравшись немного опыта, вы можете создать универсальный
BAT-файл, который позволит вам быстро ассемблировать и компоновать ваши исходные тексты
на языке ассемблера. Отсюда следует, что создание BAT-файла сводится
к созданию обычного текстового файла.
Но здесь мы создадим простейший BAT-файл, с помощью которого «лёгким движением руки» мы
выполним ассемблирование и компоновку, и создадим исполняемый файл типа COM с помощью
ассемблера MASM. Итак, откроем наш любимый текстовый редактор (у меня это PSPad, вы можете
воспользоваться блокнотом). Создадим новый файл и напишем там следующий текст:
C:\MASM611\BIN\ml /c atest.asm PAUSE C:\MASM611\BINR\link /TINY atest.obj,,NUL,,, PAUSE
Здесь команда PAUSE приостанавливает выполнение команд BAT-файла и выводит сообщение
«Для продолжения нажмите ENTER…». Само собой, что команды продолжат выполняться после
нажатия на ENTER.
Сохраним этот файл с расширением BAT в том же каталоге, где у нас находится исходный
файл atest.asm. Назовём его, например, com_create.bat. В результате папка с исходными
файлами в проводнике будет выглядеть примерно так, как показано на рис. 1.10.
Если в вашем случае в графе «Тип» написано не «Пакетный файл MS-DOS», а что-то другое
(например, текстовый файл), то это значит, что вы плохо представляете себе, что такое
расширение файла. В этом случае настоятельно рекомендую ознакомиться с книгой
Компьютер для чайников.
Теперь выполним этот BAT-файл обычным для Windows способом, то есть дважды щёлкнем
по нему левой кнопкой мыши. Что же произойдёт? Операционная система начнёт поочерёдно
выполнять команды, записанные в пакетном файле. Сначала выполнится ассемблирование
(создание объектного файла). Затем выполнится команда PAUSE. Эта команда здесь для того,
чтобы вы могли посмотреть результат ассемблирования. После нажатия клавиши ENTER выполнится
компоновка (создание исполняемого файла типа COM, то есть создание готовой программы).
Затем снова будет пауза, чтобы вы могли увидеть результат. На экране это будет выглядеть
примерно так, как показано на рис. 1.11.
Конечно, пути в вашем случае будут другими. Как видим, сначала выполняется ассемблирование:
Assembling: attest.asm
Затем выполняется команда PAUSE:
ПутьКВАТФайлу>PAUSE
После нажатия ENTER выполняется компоновка:
LINK: warning L4045: name of output file is ‘atest.com’
Здесь нам сообщают, что компоновщик создал выходной файл attest.com. В чем мы и можем
убедиться, заглянув снова в наш каталог с исходными файлами.
Как видите, ассемблирование и компоновка исходных кодов на ассемблере становится не
таким уж сложным делом, если подойти к этому творчески. Созданный нами BAT-файл вы
можете скопировать в другую папку с другими исходными кодами. Вам останется только
заменить имя исходного файла (в тексте выше выделено красным) и файл будет готов к работе
с другими исходными кодами.
В Интернете часто можно увидеть такие запросы, как программа для создания bat-файлов
или редактор bat-файлов. Теперь, надеюсь, всем понятно, что создание BAT-файла
выполняется с помощью обычного текстового редактора (и редактирование, разумеется, тоже). Однако удобнее
для этих целей использовать специальные текстовые редакторы, такие как
PSPad, где имеются такие полезные вещи, как подсветка синтаксиса
(то есть ключевые слова, такие как PAUSE, будут выделяться другим цветом и шрифтом, что очень удобно).
Простая английская Википедия, бесплатная энциклопедия
Колония палаточных летучих мышей Петерса ( Uroderma bilobatum )
Летучие мыши — млекопитающие в отряде Chiroptera . Летучие мыши ведут ночной образ жизни — они активны ночью, в сумерках или на рассвете и спят днем.
Большинство используют эхолокацию, чтобы ловить добычу и ориентироваться в ней. Как ночные животные, летучие мыши избегают прямой конкуренции с птицами, немногие из которых ведут ночной образ жизни.
Летучие мыши обычно живут в пещерах или на деревьях.В Северной Америке и Европе они иногда живут в домах или сараях. Это охраняемые животные в Великобритании.
Летучие мыши — успешная группа. Это второй по величине отряд млекопитающих: насчитывается более 1200 видов летучих мышей. Это означает, что 20% всех видов млекопитающих — каждый пятый — составляют летучие мыши. [1] [2]
Около 70% летучих мышей — насекомоядные, что является основной формой жизни для этой группы. Обыкновенный конек — удачный пример.Большинство остальных — едоки фруктов (летучие мыши). Некоторые виды сосут кровь, а некоторые крупные — плотоядные.
Летучие мыши живут везде, кроме Арктики, Антарктики и нескольких океанических островов. Обычно они обитают в пещерах, старых зданиях или деревьях.
Традиционно летучие мыши делятся на две группы. Microbats в основном используют эхолокацию и ловят насекомых, но лишь немногие едят рыбу или пьют кровь. Мегабаты не эхолоцируют, а вместо этого едят фрукты или нектар.
Большинство летучих мышей хорошо известны своей сверхъестественной способностью избегать полета в темные места, и большинство летучих мышей используют звук для навигации в ночное время (Tuttle, 3). [3] Bachen et.al утверждает, что летучие мыши могут летать и находить пищу, слушая исходящие эхо и посылая высокочастотные писки даже в полной темноте . [4]
- Заказать Chiroptera
- Мегабат (Megachiroptera)
- Микробаты (Microchiroptera)
Филогенетические взаимоотношения различных групп летучих мышей были предметом многочисленных споров.Традиционное подразделение на Megachiroptera и Microchiroptera отражает мнение о том, что эти группы летучих мышей долгое время развивались независимо друг от друга, от общего предка, который уже был способен летать.
Гипотеза заключалась в том, что полет у млекопитающих развился только один раз. Большинство молекулярно-биологических данных подтверждают точку зрения, что летучие мыши образуют единую или монофилетическую группу. [2]
Ископаемые летучие мыши [изменить | изменить источник]
Окаменелых останков летучих мышей немного, так как летучие мыши бывают наземными и с легкими костями. [5] Эоценовая летучая мышь, Onychonycteris , была найдена в формации Грин-Ривер возрастом 52 миллиона лет в Вайоминге, США, в 2003 году. [2] [6] Она могла летать, но хорошо сохранившийся скелет показал, что улитка внутреннего уха не могла обеспечить высокий слух современных летучих мышей. Это свидетельствовало о том, что полет у летучих мышей развился до эхолокации. Команда заявила, что у него отсутствовали особенности уха и горла не только у современных эхолокационных летучих мышей, но и у других известных ископаемых видов.Ископаемые останки других эоценовых летучих мышей, Icaronycteris , Archaeonycteris , Palaeochiropteryx , Hassianycteris и Australonycteris , демонстрируют аналогичную смесь базальных и производных черт, как и ожидалось в эволюции [7].
Все летучие мыши эоцена имели длинный хвост. Эта особенность также обнаруживается у ранних летающих насекомых в каменноугольном периоде, у ранних птерозавров, а также у археоптериксов и других динозавров. Хвост помогал им лететь стабильно, а это значит, что он держался на курсе и мало метался.Чтобы быстро метаться, требуются особый развитый мозг и рефлексы, которые были у более поздних летучих мышей, птиц и птерозавров, а у ранних — нет. Для управления нестабильным полетом требуется больше мозгов, чем для стабильного полета. То, что у ранних летучих мышей были длинные хвосты, было предсказано Джоном Мейнардом Смитом еще до того, как были обнаружены какие-либо ископаемые древние летучие мыши. [8] [9]
Onychonycteris имел более длинные задние лапы и более короткие предплечья, как у лазающих млекопитающих, которые висят под ветвями, таких как ленивцы и гиббоны.У этой летучей мыши размером с ладонь были широкие короткие крылья, что позволяет предположить, что она не может летать так быстро и далеко, как более поздние виды летучих мышей. Вместо того, чтобы постоянно махать крыльями во время полета, Onychonycteris , вероятно, чередовал закрылки и глиссирование в воздухе. Такие физические характеристики позволяют предположить, что эта летучая мышь не летала так много, как современные летучие мыши, а скорее летала с дерева на дерево и проводила большую часть своего бодрствования, лазая или вися на ветвях деревьев. [2]
Эхолокация [изменить | изменить источник]
Интересная особенность летучих мышей заключается в том, что, хотя они могут видеть глазами, они также используют уши, чтобы «видеть» в темноте.Из-за этого они могут летать в очень темных местах, где не видит глаз. Этот способ зондирования называется эхолокацией . Эхолокация означает, что они используют эхо, чтобы определить, где что находится.
Эхолокация похожа на сонар, который подводные лодки и корабли используют для поиска подводных объектов. Вот как это работает: летучая мышь издает много звуков. Мы не слышим эти звуки (они слишком высокие), но летучие мыши их слышат. У биологов есть инструменты для их записи, а затем воспроизведения на более низкой частоте, чтобы люди могли их услышать.
Когда летучая мышь издает звук, звуковые волны удаляются от нее. Если они во что-то попадают, они отскакивают назад к летучей мыши (этот отскок называется эхо ). Если ничего не отскакивает назад, летучая мышь знает, что впереди ничего нет. Они используют эту эхолокацию, чтобы ловить пищу, например бабочек или стрекоз. Когда летучая мышь начинает свое ночное исследование, она обычно посылает около 10 звонков в секунду. По эху они знают, что впереди. Когда они слышат эхо от чего-нибудь вкусненького, количество звонков увеличивается до 200 звонков в секунду.Это усиление звуков называется жужжанием кормления . Летучая мышь издает жужжание, чтобы почувствовать все быстрые движения насекомого, которое пытается поймать.
Чтобы слышать и понимать эхо, которое возвращается к летучей мыши, в мозгу летучей мыши требуются особые структуры. По этой причине многие ученые, врачи и даже армия США внимательно изучают летучих мышей. Армия США ежегодно тратит сотни тысяч долларов на изучение эхолокации летучих мышей.
Летучие мыши также обладают достаточно хорошим зрением и могут видеть свою добычу и то, куда они летят, если не слишком темно.Существует множество историй о летучих мышах, летящих прямо в людей, но это неправда. Они очень хорошо видят на свету, а в темноте видят намного лучше, чем мы. Так что выражение «слепой, как летучая мышь» не очень научное. [10]
Связь [изменить | изменить источник]
Некоторые летучие мыши используют эхолокацию для общения друг с другом в поисках пищи группами. Ученые из Института поведения животных им. Макса Планка изучили летучую мышь Molossus molossus , которая охотится на насекомых группами.Они обнаружили, что летучие мыши могут понимать звуки эхолокации, издаваемые другими летучими мышами, и даже определять, какая из летучих мышей в их группе издавала звук, как люди узнают голоса друг друга. [11]
Крылья летучей мыши [изменить | изменить источник]
Летучие мыши летают своими руками. На самом деле, название отряда летучих мышей Chiropetera в переводе с греческого означает «крылья руки». [12]
Крылья летучих мышей и птиц разные. У птиц нет длинных пальцевидных костей в крыльях, как у летучих мышей.Птицы не могут пошевелить пальцами, а летучие мыши -. Из-за этого летучие мыши могут менять направление во время полета или летать по любой схеме, какой захотят: это облегчает ловлю пищи. Летучая мышь летит так, словно она «плывет» по воздуху, толкая оба крыла вниз и назад.
Крыло птицы имеет много перьев, а крыло летучей мыши в основном представляет собой эластичную тонкую кожу, называемую патагиумом. Эта тонкая оболочка кожи простирается между каждой костью пальца, соединяется с лодыжкой летучей мыши и соединяется с хвостом летучей мыши (если таковой имеется).Летучая мышь складывает крылья рядом с телом, когда не летает.
У летучих мышей есть один коготь (иногда называемый пальцем летучей мыши), который торчит из верхней части крыла. Они используют свой «большой палец», чтобы взбираться и ползать. Интересно, что летучие мыши также чистят уши большими пальцами.
Крылья летучих мышей обладают большой маневренностью (они могут хорошо менять направление) — фактически больше, чем у птицы, — но у них нет большой подъемной силы. Из-за этого летучим мышам обычно приходится забираться на дерево или подпрыгивать в воздухе для ускорения, прежде чем они начнут махать крыльями.
Иммунная система [изменить | изменить источник]
Летучие мыши очень маленькие, но живут долго. Некоторые летучие мыши могут жить до сорока лет. Ученые думают, что это потому, что их иммунная система очень хорошо борется с вирусами. Летучие мыши борются с вирусами, не вызывая воспаления в организме. Врачи считают, что воспаление причиняет вред организму, и поэтому думают, что летучие мыши живут долго. [13]
Поскольку летучие мыши отдыхают большими группами со многими другими летучими мышами, они могут легко передавать болезни друг другу.Это означает, что на протяжении тысяч поколений вирусы и другие микробы оказывали избирательное давление на летучих мышей, убивая летучих мышей со слабой иммунной системой и оставляя летучих мышей с хорошей иммунной системой выживать и иметь потомство. [13]
Многие вирусы, которые появляются у летучих мышей, позже изменяются и становятся опасными заболеваниями у людей, например Эбола и SARS-CoV-2. [13] [14]
Еда [изменить | изменить источник]
Мегабаты едят фрукты, нектар или пыльцу.Они опыляют цветы и иногда разносят семена. Многие тропические растения полностью зависят от летучих мышей.
Большинство микрокрылых (7 из 10 видов летучих мышей) являются насекомоядными, то есть поедают насекомых. Некоторые микробаты поедают мелких позвоночных животных (мелких млекопитающих или рыб), кровь или даже других летучих мышей. Есть всего несколько видов летучих мышей-вампиров, которые питаются кровью крупного рогатого скота.
Положение покоя [изменить | изменить источник]
Большинство летучих мышей отдыхают, спят и впадают в спячку в перевернутом положении.Они держатся ногами за ветки или камни. Для этого у них есть фиксирующий механизм на сухожилиях ног, который не дает им поскользнуться. [15] Энергия, которую они тратят на подвешивание, значительно сокращается. Наиболее очевидное преимущество — они могут спать, не падая. Когда сухожилия заблокированы, мышцы ног и ступней могут расслабиться. Даже мертвые летучие мыши продолжают висеть. [16]
- Плодовые летучие мыши ( Pteropodidae ) — самые крупные из летучих мышей.Они едят фрукты и хорошо видят. Существует 166 видов, все они встречаются в Старом Свете.
В Соединенном Королевстве все летучие мыши находятся под защитой закона, и даже потревожение летучей мыши или ее насеста может быть наказано большим штрафом.
Остин, штат Техас, является летним домом для крупнейшей городской колонии летучих мышей в Северной Америке (под мостом на Конгресс-авеню), примерно 1500000 мексиканских летучих мышей со свободным хвостом, которые съедают примерно от 10 до 30 тонн насекомых каждую ночь и привлекают 100000 туристов. каждый год.
В Сараваке, Малайзия, летучие мыши являются охраняемым видом, но большая голая летучая мышь и большая нектарная летучая мышь едят местные жители.
Летучие мыши в фольклоре и художественной литературе [изменить | изменить источник]
На Западе летучие мыши ассоциируются с вампирами, которые, как говорят, могут превращаться в летучих мышей. Летучие мыши также являются символом призраков, смерти и болезней. Однако в некоторых европейских странах, например, в Польше, летучим мышам повезло.
Летучая мышь используется в художественной литературе как злодеями, такими как Дракула, так и такими героями, как Бэтмен.Кеннет Оппель написал серию романов, начиная с Silverwing , в которых летучие мыши являются хорошими персонажами.
- ↑ Тадж, Колин (2000). Разнообразие жизни . Издательство Оксфордского университета. ISBN 0-19-860426-2 .
- ↑ 2,0 2,1 2,2 2,3 Simmons N.B. et al. 2008. Примитивные летучие мыши раннего эоцена из Вайоминга и эволюция полета и эхолокации. Природа 451 : 818-821. [1]
- ↑ Таттл, Мерлин Д. (4 мая 2018 г.). Естественная история летучих мышей-вампиров . CRC Press. С. 1–5. ISBN 978-1-351-07491-9 .
- ↑ Пипп, Андреа (2015). Коэффициент консервативности флоры Монтаны. отчет в Департамент качества окружающей среды штата Монтана, Хелена, Монтана / . Helena, MT :: Программа природного наследия Монтаны ,. CS1 maint: лишняя пунктуация (ссылка)
- ↑ Эйтинг Т.П. и Г.Ф. Ганнелл. 2009. Глобальная полнота летописи окаменелостей летучих мышей. Журнал эволюции млекопитающих 16 : 151-173.
- ↑ ( BBC News ) «Окаменелость летучей мыши решает проблему эволюции» 13 февраля 2008 г.
- ↑ Выражаясь старомодно, смесь примитивных и продвинутых функций.
- ↑ Мэйнард Смит, Джон 1952 г. Важность нервной системы в эволюции полета животных. Evolution 6 , 127.
- ↑ Мэйнард Смит, Джон 1953.Птицы как самолеты. Новая биология 14 , 64.
- ↑ Altringham J.D. 1998. Летучие мыши: биология и поведение . Оксфорд: Издательство Оксфордского университета
- ↑ Дженна Э. Колес; Джеральд Дж. Картер; Рэйчел Пейдж; Дина К. Н. Дехманн (13 июня 2020 г.). «Летучие мыши, собирающие пищу в обществе, различают членов группы на основе эхолокационных сигналов на этапе поиска». Поведенческая экология. DOI: 10,1093 / beheco / araa056. Дата обращения 19 июня 2020.
- ↑; от греческого χείρ — cheir , «рука»
- ↑ 13.0 13,1 13,2 Университет Рочестера (8 июля 2020 г.). «Летучие мыши предлагают ключи к лечению COVID-19». Пресс-релиз. https://www.rochester.edu/newscenter/bats-offer-clues-to-treating-covid-19-443332/. Проверено 11 июля 2020 года.
- ↑ Вера Горбунова; Андрей Селуанов; Брайан К. Кеннеди (7 июля 2020 г.). «Мир идет на летучих мышей: дольше живут и переносят вирусы» (PDF). Метаболизм клеток . Cell Press. DOI: 10.1016 / j.cmet.2020.06.013. Проверено 11 июля 2020 года.
- ↑ Симмонс Н. и Куинн Т. 1994. Эволюция механизма блокировки сухожилий пальцев рук летучих мышей и дермапторанов: филогенетическая перспектива. Журнал эволюции млекопитающих . POI: 10.1007 / BF 01464276 [2]
- ↑ Где живут летучие мыши? Коллекция естествознания Эдинбургского университета [3] Включает полезную диаграмму
- ↑ «Летучая мышь-шмель ( Craseonycteris thonglongyai )». EDGE Виды . Проверено 10 апреля 2008.
Викискладе есть медиафайлы, связанные с Chiroptera . |
Это летучая мышь? — Нил Миддлтон — Pelagic Publishing
Детекторы летучих мышей проводят экологические консультанты, исследователи, экологи и любители. Понимание и категоризация звуков, не связанных с летучими мышами, в опросах дает потенциальные преимущества для информирования проектов развития (например, другие важные записи, обнаруженные на участке), а также возможность связанных с ними преимуществ для сохранения. В последние годы количество людей, проводящих эти опросы и записывающих звонки с помощью детекторов летучих мышей, значительно выросло.Эти опросы часто генерируют огромное количество аудиозаписей, что приводит к большой рабочей нагрузке, связанной с завершением процесса анализа звука и отчетности.
Те, кто проводит анализ, могут быть отвлечены, заинтригованы или задержаны из-за появления записей, которые им неизвестны и не могут быть идентифицированы. Эти записи могут относиться к видам летучих мышей, которые «трудно идентифицировать», но также часто могут относиться к звукам, не связанным с летучими мышами. Это может быть особенно актуально, когда триггеры шума, такие как насекомые, мелкие млекопитающие или птицы, выглядят как шум, связанный с летучими мышами.Поэтому недостаточно знать, как звучат летучие мыши. Чрезвычайно полезно знать, как выглядят и звучат другие источники шума в той же звуковой среде. Этот ресурс поможет работникам летучих мышей, в какой бы среде они ни находились, быть более уверенными в распознавании, классификации и игнорировании других звуков. Книга включает обширную загружаемую библиотеку звуков (формат .wav), которую читатели могут прослушать на слух или обработать с помощью программного обеспечения для анализа звука.
Это летучая мышь? также учитывает звуки, которые слышны только на слух, в поле, в темное время суток.В этих сценариях исследователи летучих мышей часто заинтригованы или сбиты с толку тем, что они слушают. Иногда знание того, что это за звуки, может быть важно или, по крайней мере, интересно.
Первая глава посвящена теме в целом, включая предложения автора относительно того, почему этот предмет представляет ценность. В нем также обсуждаются звонки, связанные с летучими мышами (включая социальные звонки), с целью сравнения с другими источниками звука, обсуждаемыми в отдельных главах.В книге есть главы, посвященные следующим вопросам: мелкие млекопитающие; амфибии; насекомые; птицы; электрический / механический шум; и другой шум / неприятности. В каждой главе есть подразделы, посвященные звукам, записанным детектором летучих мышей, звукам на слух, а также советам по методам и методам уменьшения или увеличения вероятности записи других звуков. Книга завершается соответствующими приложениями, включая «Ключ к решению проблем», чтобы помочь тем, кто сталкивается с незнакомым звуком, сузить его до вероятного источника.
В условиях стремительного развития технологий технические способности аналитика имеют огромное значение. Обладая более широким кругозором и большими знаниями, лица, ответственные за интерпретацию встреч в полевых условиях, могут быть более уверенными при принятии решений об источниках звука. Кроме того, «знание материала» делает работу намного более интересной и дает работнику летучей мыши возможность лучше понять мир природы, в котором он работает.
фактов о летучих мышах | Смитсоновский институт
Этот информационный бюллетень пытается развеять опасения и ответить на некоторые из вопросов, наиболее часто задаваемых Национальным музеем естественной истории, представляя некоторые общие факты о биологии и естественной истории этих застенчивых, ночных существ.
Какие они?
Летучие мыши — млекопитающие, принадлежащие к отряду Chiroptera, имя греческого происхождения, означающее «крыло руки», что точно описывает наиболее необычную анатомическую особенность животного. Отряд разделен на два подотряда: Megachiroptera, состоящий из одного семейства, летучих лисиц и их родственников из Старого Света, питающихся фруктами и цветами, и Microchiroptera, состоящих из остальных семейств летучих мышей, всего около 17. Эти семейства подразделяются примерно на 180 родов и более 900 видов; только грызуны имеют большее количество видов.Несмотря на то, что названия подразумевают иное, не все Megabats больше Microbats. Хотя это правда, что некоторые виды летучих лисиц имеют размах крыльев до 5 футов, у одного из представителей Megachiroptera, цветочного кормления Macroglosus , размах крыльев составляет всего 10 дюймов. Однако некоторые из Microchiroptera очень крошечные; Самым маленьким из них, вероятно, является филиппинская бамбуковая летучая мышь, Tylonycteris pachypus , длина ее предплечья составляет всего 22 мм. и весом всего 0,05 унции.Самый большой микробэт — тропический американский ложный вампир, Vampyrum спектр , с размахом крыльев до 40 дюймов.
Где они?
Поскольку летучие мыши маленькие, скрытные, кормятся ночью и незнакомы большинству людей, их иногда считают редкостью. Напротив, они встречаются по всему миру, за исключением некоторых океанических островов, Арктики и Антарктики. Хотя большинство видов обитает в тропических и полутропических районах мира, они все еще распространены в Соединенных Штатах и наиболее многочисленны на Юго-Западе.Некоторые летучие мыши предпочитают селиться в амбарах, чердаках, пещерах или заброшенных шахтах, которые обеспечивают безопасность от хищников, защиту от колебаний погоды и уединение для выращивания птенцов. Другие виды выбирают дуплистые деревья или расщелины в скалах в качестве места дневного отдыха, в то время как некоторые из них, как известно, устраиваются на ночевках в открытых местах, цепляясь за стволы деревьев или свисая вверх ногами с ветвей деревьев. Чтобы выжить в более холодных регионах, летучие мыши либо впадают в спячку в укрытиях с высокой влажностью и температурой выше нуля, либо мигрируют в более теплые районы, где есть еда.
Когда они появились?
Свидетельства существования летучих летающих млекопитающих появились еще в эоценовую эпоху, около 50 миллионов лет назад; однако летописи окаменелостей, прослеживающие эволюцию летучих мышей, скудны. Основываясь на сходстве костей и зубов, большинство специалистов соглашаются, что предки летучих мышей, вероятно, были плацентарными млекопитающими, питавшимися насекомыми, возможно, жившими на деревьях, и, вероятно, той же группой, которая дала начало землерокам и кротам. Летучие мыши не грызуны и даже близко не связаны с этой группой млекопитающих.
Как они летают?
Летучие мыши уникальны. Несмотря на то, что они имеют общие характеристики всех млекопитающих — шерсть, регулируемую температуру тела, способность вынашивать детенышей живыми и кормить их грудью — летучие мыши — единственные млекопитающие, которые действительно летают. Обычно называемый «летающий!» Белки и «летающие» лемуры фактически летают или парашютируют с помощью покрытой мехом мембраны, но только летучие мыши обладают структурными приспособлениями, которые позволяют летать на полной мощности.
Структура перепонки крыла, расположение поддерживающих ее костей и расположение мышц обеспечивают летучей мыши легкость и маневренность, необходимые для ловли насекомых, парения над цветами или быстрого обхода препятствий.Два тонких слоя кожи, проходящие по бокам тела и включающие в себя руки, ноги и хвост, содержат кровеносные сосуды, нервы и сухожилия, которые, по сути, составляют перепонку крыла.
Кости руки и четырех пальцев легкие, тонкие и удлиненные, чтобы поддерживать, раздвигать и манипулировать мембраной. Большой палец, обычно с острым когтем, не прикрепляется, но остается свободным, чтобы цепляться за различные поверхности. В отличие от других млекопитающих, задние конечности расположены так, что колени, когда они согнуты, направлены назад, а нижняя часть ступней обращена вперед.На пальцах ног есть когти, которые помогают захватывать и опускать голову — нормальное положение для отдыха летучей мыши. Длинная шпора, калькар, проходит от одной из лодыжек и помогает раздвинуть межбедренную перепонку, ту часть перепонки крыла между хвостом и задними ногами. Эта мембрана может образовывать корзину или мешочек, помогая ловить и удерживать насекомых, пойманных в полете.
Большинство летных мышц, контролирующих взмах крыльев, прикреплены к лопаткам, в отличие от птиц, чьи мышцы прикреплены к грудной клетке.У птиц обычно есть выступающий грудной киль, к которому прикрепляются тяжелые мышцы; у летучих мышей только одна мышца прикреплена к грудине, ребра уплощены, и есть некоторое сращение позвоночных суставов — все приспособления, которые делают каркас легким и придают летучей мыши невероятную ловкость.
Что они едят?
Хотя разные виды летучих мышей едят разную пищу, подавляющее большинство поедает различных насекомых, таких как мотыльки, жуки, мошки и сверчки. В этом отношении ночное поведение летучей мыши дает определенные преимущества.Огромное количество насекомых летают по ночам, и, за исключением пауков, у такой пищи немного конкурентов. Помимо совы или змей, которые иногда встречаются, есть также несколько хищников, которые могут поймать или преследовать летучую мышь в темноте. Ночь приносит прохладные температуры, которые помогают рассеять тепло, выделяемое мышечной деятельностью во время полета. Поскольку у летучей мыши тонкая перепонка крыла, полет в дневную жару может быть опасен, вызывая чрезмерное поглощение тепла и приводя к обезвоживанию и возможной тепловой прострации.Ночной образ жизни обеспечивает защиту от жары и помогает летучей мыши поддерживать температуру и влажность тела.
«Слеп, как летучая мышь» — обычное высказывание, но оно ложно. Все летучие мыши могут видеть, хотя зрение может быть менее важным, чем другие чувства. Чтобы найти и поймать добычу, насекомоядные летучие мыши используют акустическую ориентацию, называемую эхолокацией. Они издают серию сверхзвуковых криков через рот или нос и обнаруживают летающих насекомых по отраженному назад эхо. Те виды, которые издают звук через нос, обычно имеют лоскут кожи, называемый носовым листом, над ноздрями.Это может помочь направить звук, но его точная функция неизвестна. Дональду Р. Гриффину приписывают открытие того, что летучие мыши издают звуки в ультразвуковом диапазоне и перемещаются в ответ на эхо. С тех пор, как в 1940 году было объявлено о его первых открытиях, было проведено множество исследований в области эхолокации, и это единственная область жизни летучих мышей, которая была исследована сколько-нибудь глубоко.
Помимо ультразвуковых звуков, используемых при эхолокации, летучие мыши также издают другие звуки, возможно, для общения или обозначения эмоций.Мурлыканье, щелчки и жужжание часто предшествуют спариванию некоторых видов; некоторые из этих звуков могут быть ультразвуковыми. Было замечено, что некоторые североамериканские насекомоядные летучие мыши вибрируют в состоянии покоя и довольства. Эта вибрация не возникает, когда они спят. Кроме того, для распознавания матери и ребенка используются звуковые и ультразвуковые сигналы. Ухо летучей мыши чрезвычайно подвижно и чувствительно к звукам. Козелок, мочка, выступающая перед ушным отверстием, может выполнять сенсорную функцию; однако его точное использование неизвестно.
Согласно анализу содержимого желудков и останков насекомых, найденных возле убежищ летучих мышей, виды насекомых, которые они предпочитают, различаются. Например, пещерный миотис, M. velifer, , как известно, имеет разнообразную диету, состоящую из жуков, цикад, мух и бабочек, в то время как малазийская летучая мышь со свободным хвостом проявляет большую избирательность и, кажется, предпочитает ловить муравьев, занятых брачным полетом. . Маленькие насекомые часто попадают прямо в рот, но более крупные чаще захватываются перепонкой крыла, переносятся и перестраиваются в корзине, образованной задними лапами и межбедренной перепонкой, затем тянутся ко рту и съедаются.
Не все летучие мыши ловят добычу на крыльях. Некоторые специализируются на ловле наземных насекомых, таких как кузнечики или тараканы, которые обитают на земле, камнях или деревьях. В этом случае для поимки нескольких крупных насекомых требуется меньше энергии, чем для ловли сотен крошечных мотыльков или мошек. Другие летучие мыши используют свои ноги, чтобы схватить насекомых с поверхности прудов и озер. Летучие мыши в Соединенных Штатах, за исключением трех видов цветоедов, мигрирующих из Мексики, являются насекомоядными.
Виды, которые питаются пыльцой, нектаром и, в некоторых случаях, лепестками цветов, встречаются в основном в тропиках и полутропиках.Пыльца, как и насекомые, очень питательна. Цветоеды обычно маленькие, с длинными заостренными головами, длинными языками и способностью парить и медленно летать. Фрукты, а иногда и насекомые, также дополняют их рацион.
Большинство любителей фруктов и цветов в Старом Свете полагаются на зрение и обоняние при поиске пищи, а не на сонары. В отличие от птиц, летучие мыши не различают цвета и, следовательно, не зависят от цвета при поиске и выборе пищи. Многие предпочитают темно-зеленые или коричневые фрукты с затхлым или кислым запахом, а не более красочные сорта.Эти плоды обычно свисают с виноградных лоз или растут на стволе растения, не загороженном густой тропической листвой.
Некоторые виды летучих мышей плотоядны, поедают маленьких лягушек, ящериц и птиц. Другие виды известны своими привычками поедания рыбы и обычно специализируются на огромных задних лапах и когтях. Самая известная из летучих мышей-рыбаков — рыба-бульдог, Noctilio leporinus , из Центральной и Южной Америки. Как эта летучая мышь на самом деле находит себе пищу, не совсем понятно, но многие специалисты считают, что сонар используется для обнаружения ряби на воде, созданной рыбой.Он ловит свою добычу большими крючковатыми когтями, пронзает рыбу клыками, собирает ее в перепонке крыла, прокусывает череп и съедает — и все это за считанные секунды.
Летучие мыши умеют плавать?
Хотя научных данных по этому поводу мало, наблюдения естествоиспытателей, похоже, подтверждают тот факт, что некоторые летучие мыши плавают в стрессовых ситуациях, но обычно это не является частью их обычных моделей поведения. Например, летучим лисицам, часто обитающим на островах, приходится преодолевать большие расстояния, чтобы добыть пищу.Вынужденная посадка или набег на воду для сбора упавших и плавающих фруктов может потребовать неожиданного плавания. На фотографиях летучей лисы, Pteropus giganteus , видно, что животное действительно плывет, используя свои крылья и лапы, чтобы достичь земли, а не плыть или грести.
Летучие мыши-вампиры
Многие вопросы, поступающие в музей, касаются летучей мыши-вампира. Поскольку настоящая летучая мышь-вампир Центральной и Южной Америки питается кровью, распространено заблуждение, что ее связывают с легендой о человеческих вампирах.Восточноевропейская сказка о вампире, трупе, который ожил и высосал кровь из шеи своей человеческой жертвы, восходит к средневековью. Фактически, не существует летучих мышей-вампиров, обитающих в Европе или Азии; о их существовании даже не было известно до 1500-х годов, когда исследователи посетили Новый Свет и заметили их необычные пищевые привычки. Действительно, летучая мышь была названа в честь легенды, а не легенды, восходящей к ней.
Летучая мышь-вампир питается в основном кровью крупного рогатого скота, лошадей и диких млекопитающих, таких как олени и пекари.Он редко кусает людей. При кормлении он предпочитает приземлиться возле безволосого участка тонкой кожи — например, копыта или плеча животного — подпрыгивает или осторожно подходит к вероятному месту, облизывает его, затем делает небольшой надрез и обтирает животное кровью. Вред от таких укусов возникает не из-за потери крови, которая относительно невелика, а из-за воздействия на домашний скот вторичных инфекций, паразитов и передачи вирусных заболеваний, таких как бешенство.
Бешенство естественным образом встречается у многих диких животных.На самом деле у скунсов и лисиц заболевание чаще, чем у летучих мышей. В Соединенных Штатах частота случаев настолько мала, всего лишь доли процента, что опасность для человека очень мала. Хотя эксперименты показали, что теоретически бешенство — это вирус, который может передаваться по воздуху или при контакте с мочой инфицированных летучих мышей, нет ни одного задокументированного случая заражения человека этим заболеванием. Укусы людей летучими мышами — редкость, а бешенство в результате таких укусов встречается у людей крайне редко.Но летучие мыши могут быть переносчиками вируса бешенства, поэтому с ними следует обращаться осторожно.
Наибольшая заболеваемость бешенством наблюдается в больших популяциях летучих мышей-вампиров в Южной Америке. Здесь опасность не столько для населения, сколько для домашнего скота, подвергшегося укусам летучих мышей. В Южной Америке существовала серьезная экономическая проблема, когда большое количество крупного рогатого скота было потеряно из-за бешенства и инфекции. Усилия по контролю и искоренению летучих мышей-вампиров были инициированы в 1968 году Агентством международного развития в сотрудничестве с правительством Мексики.Службе рыболовства и дикой природы США было поручено изучить ее привычки, чтобы получить некоторые подсказки для ее контроля. Ответ на этот вопрос дал наблюдение за ухаживающим поведением летучей мыши с использованием нескольких различных методов ночного наблюдения. Летучие мыши очень чистоплотны, иногда уходят, облизываются и чешутся часами. В частности, летучая мышь-вампир интенсивно ухаживает как за собой, так и за своими соседями. Пастообразный антикоагулянтный яд, вызывающий внутреннее кровотечение у летучей мыши, наносили на вероятные участки, на плечи или плечи укушенного скота.Летучие мыши-вампиры обычно возвращаются к своим жертвам за дополнительной пищей, поэтому, когда они снова нападают, они вступают в контакт с ядом. Вернувшись на насест в процессе ухода, они проглатывают и распространяют яд с последующей смертью большого процента колонии. Лечение специфично для летучих мышей-вампиров; никакие другие виды не подвержены влиянию, и антикоагулянт, кажется, не причиняет вреда домашнему скоту, даже будучи введенным непосредственно в желудок. В настоящее время яд успешно применяется в Мексике, Центральной и Южной Америке.
Каков образ жизни летучей мыши?
Для людей дневное время приносит работу и отдых. Для летучих мышей это время отдохнуть в каком-нибудь укромном укрытии, опустить голову, ухаживать, поспать и, возможно, даже поссориться. С приближением ночи активность летучих мышей увеличивается; они летают внутри своей пещеры, а затем, наконец, выходят на поиски пищи и питья воды. После часа или двух кормлений они могут снова отдохнуть, а затем еще раз покормиться до рассвета.
У многих видов самцы и самки насиживают отдельно, кроме случаев спаривания.У перелетных видов спаривание происходит осенью и зимой. Самка хранит сперму до весны, когда происходит овуляция и оплодотворение. В мае или июне самки собираются большими колониями и рожают. Большинство видов рожают только одного детеныша в помете, но у других может быть два, три или даже четыре. Самка опускает голову, когда рождается детеныш, ногами вперед. Она ловит и держит новорожденного в сумке, образованной межбедренной перепонкой. Детеныш летучей мыши, уже большой и хорошо развитый, подползает к соскам матери, прикрепляется к ним и кормит.Вечером, когда мать собирает корм, в первые несколько дней она может носить с собой детенышей. Позже ребенок остается позади, цепляясь за стену или крышу пещеры или убежища. Мать может несколько раз возвращаться за ночь, чтобы покормить детенышей.
Как долго они живут?
Среди молодых летучих мышей смертность высокая. Некоторые падают с крыши своего убежища и не могут подняться обратно; некоторые погибают от болезней или паразитов. Однако они быстро растут и могут летать примерно за три недели.Когда опасности молодости минуют, летучие мыши достигают относительно старости: некоторым из них исполняется 20 лет, а в одном задокументированном случае коричневой летучей мыши — до 30 лет. Несомненно, они живут дольше, чем другие млекопитающие того же размера, например грызуны. которые живут всего один или два года.
Как они влияют на нас?
Смитсоновский институт часто спрашивают, как избавиться от летучей мыши или летучих мышей, вторгшихся в дом или здание. Если в ваш дом влетит одинокая летучая мышь, просто откройте все двери и окна и позвольте ей найти свой выход.Если это не помогло, возьмите большое полотенце или одеяло, накиньте его на животное, соберите и положите на улицу. Летучая мышь выйдет из ткани без каких-либо дополнительных действий.
Искоренить большое количество летучих мышей из зданий или сараев намного сложнее, поскольку, выбрав место для ночлега, они продолжают возвращаться на это место. Лучший подход — принять профилактические меры. Закройте различные части крыши экраном, чтобы не было щелей или отверстий, в которых может спрятаться летучая мышь, или отремонтируйте крышу или здание, чтобы устранить входные отверстия.Спреи не рекомендуются и могут быть намного опаснее, чем присутствие летучих мышей.
В Соединенных Штатах летучие мыши являются полезными членами сообщества животных. Они помогают бороться с ночными летающими насекомыми, в некоторых случаях опыляют цветы и разбрасывают семена растений. Их гуано богато азотом и продается как удобрение. Летучие мыши — ценные предметы для изучения. Исследования в области эхолокации пытаются определить, как летучие мыши оценивают свое окружение, и как эта информация координируется и как на нее воздействуют.То, что мы узнаем о летучих мышах, может помочь нам понять аналогичные физиологические процессы у человека. Со временем, по мере того, как мы узнаем больше о биологии и привычках летучей мыши, возможно, мы также сможем принять новое отношение, которое позволит нам принять это мягкое пушистое существо как естественную часть нашего окружения и больше ценить роль, которую оно играет в содействии здоровая экосистема.
Избранный список публикаций о летучих мышах »
Подготовлено кафедрой систематической биологии, зоологии позвоночных,
Национальный музей естественной истории в сотрудничестве со Службой общественных расследований,
Смитсоновский институт
ноябрь 1980 г.
13 удивительных фактов о летучих мышах
Летучие мыши, называемые жуткими, страшными и жуткими, часто получают плохую репутацию.Это важный вид, который влияет на нашу повседневную жизнь способами, о которых мы даже не подозреваем. Летучие мыши — герои ночи — от опыления наших любимых фруктов до поедания надоедливых насекомых и чудес медицины.
Неделя летучих мышей, которая проводится в последнюю неделю октября, посвящена роли летучих мышей в природе и всем этим удивительным созданиям, которые делают для нас. Посмотрите некоторые интересные факты о летучих мышах (и классные фотографии) ниже:
1. Знаете ли вы: во всем мире обитает более 1400 видов летучих мышей. Летучих мышей можно найти практически в любой части планеты, кроме крайних пустынь и полярных регионов. Разница в размере и форме одинаково впечатляет. Летучие мыши варьируются по размеру от летучей мыши Китти (также называемой летучей мышью-шмелем), которая весит менее пенни, что делает ее самым маленьким млекопитающим в мире, до летучих лисиц, у которых размах крыльев может достигать шести футов. В США и Канаде обитает около 45 видов летучих мышей, а на территориях США в Тихом океане и Карибском бассейне обитают дополнительные виды.
Маленькая коричневая летучая мышь оправдывает свое название. Он весит всего 1 / 4–1 / 3 унции, имеет длину около 2 дюймов и размах крыльев 6 дюймов. Фото Энн Фрошауэр, USFWS.
2. Не все летучие мыши впадают в спячку. Несмотря на то, что медведи и летучие мыши являются двумя самыми известными зимовщиками, не все летучие мыши проводят зиму в пещерах. Некоторые виды летучих мышей, такие как пятнистая летучая мышь, выживают, мигрируя в поисках пищи в более теплые районы, когда становится холодно.
Зиму ушастая летучая мышь зимует в пещерах и шахтах.Фото Эндрю Кинга, USFWS.
3. У летучих мышей мало естественных хищников — болезни — одна из самых больших угроз. Совы, ястребы и змеи едят летучих мышей, но это ничто по сравнению с миллионами летучих мышей, умирающих от синдрома белого носа. Болезнь, названная в честь белого грибка на морде и крыльях летучих мышей, поражает летучих мышей, находящихся в спячке, и была обнаружена в 33 штатах и семи канадских провинциях. К настоящему времени от синдрома белого носа умерло более 6,5 миллионов летучих мышей. Ученые работают, чтобы понять болезнь.Вы можете помочь — избегайте мест, где летучие мыши впадают в спячку, а если вы все же уйдете под землю, обеззаразите свою одежду, обувь и снаряжение.
У трехцветной летучей мыши проявляются симптомы синдрома белого носа. Фото Службы национальных парков.
4. Попрощайтесь с бананами, авокадо и манго без летучих мышей. Более 300 видов фруктов зависят от опыления летучими мышами. Летучие мыши помогают намазывать семена орехов, инжира и какао — основного ингредиента шоколада. Без летучих мышей не было бы таких растений, как агава или культовый кактус сагуаро.
Так же, как колибри, длинноносая летучая мышь может парить над цветами, используя свой трехдюймовый язык, равный длине ее тела, чтобы питаться нектаром в пустыне. Фото Мерлина Д. Таттла, Bat Conservation International.
5. Ночные насекомые больше всего боятся летучих мышей. Каждую ночь летучие мыши могут поедать насекомых, исчисляемых тысячами, своим весом или более! А поскольку летучие мыши едят так много насекомых — экзоскелеты которых сделаны из блестящего материала, называемого хитином, — некоторые фекалии летучих мышей сверкают (крутой, но странный факт, мы знаем)! Эта насыщенная насекомыми диета помогает лесникам и фермерам защитить свои посевы от вредителей.
Вымирающая летучая мышь Индиана, которая весит около трех пенни, съедает до половины своей массы каждый вечер. Фото Эндрю Кинга, USFWS.
6. Летучие мыши — единственное летающее млекопитающее. В то время как белка-летяга может летать только на короткие расстояния, летучие мыши — настоящие летчики. Крыло летучей мыши напоминает модифицированную человеческую руку — представьте, что кожа между пальцами больше, тоньше и растянута. Эта гибкая кожная мембрана, которая проходит между каждой косточкой длинного пальца и множеством подвижных суставов, делает летучих мышей способными летать.
Калифорнийские летучие мыши с листовым носом выходят из пещеры в национальном парке Джошуа-Три. Этих летучих мышей легко отличить по их листовидным носам и большим ушам. Фото Кристен Лалумьер, Служба национальных парков.
7. Летучие мыши могут быть маленькими, но они очень быстрые создания. Скорость полета летучей мыши зависит от вида, но согласно новому исследованию, они могут развивать скорость более 100 миль в час.
Мексиканские летучие мыши со свободным хвостом выходят из пещеры Бракен в Техасе. Здесь живут более 15 миллионов летучих мышей, что делает его самой большой известной колонией летучих мышей (и самой большой концентрацией млекопитающих) на Земле.Фото Энн Фрошауэр, USFWS.
8. Природоохранные мероприятия помогают видам летучих мышей восстановиться. По крайней мере 13 видов летучих мышей США находятся под угрозой исчезновения, и еще больше находятся под угрозой. Эти удивительные животные сталкиваются с множеством угроз, включая потерю среды обитания и болезни, но мы работаем над тем, чтобы это изменить. Уникальное международное природоохранное партнерство на юго-западе США и в Мексике работает над тем, чтобы помочь одному виду, малой длинноносой летучей мыши, восстановиться до такой степени, что его можно будет исключить из списка исчезающих видов.В 1988 году считалось, что на 14 известных населенных пунктах было менее 1000 летучих мышей. Сейчас на 75 насестах обитает около 200 000 летучих мышей!
Предки находящихся под угрозой исчезновения гавайских седых летучих мышей прошли более 3600 километров от побережья Тихого океана почти 10 000 лет назад, чтобы стать наземным млекопитающим штата Гавайи. Фото Фрэнка Бонаккорсо, Геологическая служба США.
9. Самой долгоживущей летучей мыши — 41 год. Говорят, что чем меньше животное, тем короче его продолжительность жизни, но летучие мыши нарушают это правило долголетия.Хотя большинство летучих мышей живут в дикой природе менее 20 лет, ученые задокументировали шесть видов, которые живут более 30 лет. В 2006 году крошечная летучая мышь из Сибири установила мировой рекорд в 41 год.
Средняя продолжительность жизни ушастой летучей мыши Таунсенда составляет 16 лет. Фото Энн Фрошауэр, USFWS.
10. Летучие мыши, как кошки, чистятся сами. Летучие мыши не только не грязные, но и тратят много времени на уход за собой. Некоторые, как Колониальная летучая мышь, даже ухаживают друг за другом. Помимо гладкой шерсти, чистка также помогает бороться с паразитами.
Пятнистая летучая мышь получила свое название от своего отчетливого черно-белого пятнистого меха. Еще один интересный факт о пятнистой летучей мыши — у нее самые большие уши среди всех североамериканских видов. Фото Пола Крайана, Геологическая служба США.
11. Не только собаки имеют щенков. Детеныши летучих мышей называются детенышами, а группа летучих мышей — колонией. Как и другие млекопитающие, летучие мыши кормят своих детенышей грудным молоком, а не насекомых. В то время как летучие мыши рожают только одного детеныша в год, летучие мыши-мамы весной образуют детские колонии в пещерах, мертвых деревьях и расщелинах скал.
Летучим мышам полезно поддерживать сплоченную группу на ночевках, потому что они увеличивают репродуктивный успех, и это важно для выращивания детенышей. Фото Алана Кресслера, Геологическая служба США.
12. Летучие мыши вдохновляют на чудеса медицины. Около 80 лекарств получают из растений, выживание которых зависит от летучих мышей. Хотя летучие мыши не слепы, изучение того, как летучие мыши используют эхолокацию, помогло ученым разработать средства навигации для слепых. Исследования летучих мышей также привели к успехам в вакцинах.
Мексиканская длинноязычная летучая мышь — жизненно важный опылитель в пустынных системах.У них длинный, похожий на щетину язык, что позволяет им пить нектар из агавы и кактусов. Фото USFWS.
13. Innies или Outies? Не только люди имеют пупок. За редким исключением, почти у всех млекопитающих есть пупок из-за пуповины матери, и летучие мыши ничем не отличаются. Теперь настоящий вопрос: Innies или outies?
Вы можете заметить пупок этой летучей мыши Mariana Fruit? Фото Юлии Боланд, USFWS.
Летучим мышам нужна твоя помощь. Вы можете помочь защитить этих удивительных существ, посадив сад летучих мышей или установив домик для летучих мышей.Держитесь подальше от закрытых пещер, особенно с летучими мышами. Если вы посещаете открытую пещеру, следуйте этим рекомендациям, чтобы предотвратить распространение синдрома белого носа.
Животные и растения в зоопарке Сан-Диего
Большая группа летучих мышей, летающая в небе, называется «облаком».
Летучих мышей можно встретить практически везде, кроме полярных регионов и крайних пустынь. Обычно они отдыхают большими социальными группами в пещерах, на деревьях и искусственных сооружениях, таких как мосты, но некоторые виды укрываются в норах животных, гнездах термитов или даже в цветах или гигантской паутине.Некоторые летучие мыши мигрируют в более теплый климат зимой, а другие впадают в спячку. Один вид преодолевает 2400 миль (3900 километров) ежегодно! Пока неизвестно, как летучие мыши преодолевают эти большие расстояния, чтобы найти ту же пещеру, которую они использовали годом ранее.
Летучие мыши сидят на ночлег в перевернутом положении, поскольку легкие кости задних ног не могут выдержать вес их тела в вертикальном положении. Когда они отдыхают, их крылья обвивают их, как плащ. Летучие мыши днем спят, а ночью выходят на поиски пропитания.Крылья летучей мыши наполнены кровеносными сосудами, которые помогают им быстро заживать в случае травмы.
Большинство летучих мышей взлетают, падая из положения висения, и многие не могут взлететь с земли. Летучие мыши приземляются, замедляясь, пока они не заглохнут и не хватятся за ветку или другую поверхность. Некоторые летучие мыши выполняют сальто, а затем захватывают!
Микро-летучие мыши используют эхолокацию, чтобы найти пищу из насекомых. Они могут «видеть» свой мир и обнаруживать добычу, издавая короткие всплески высоких звуков, которые отражаются от объектов и возвращаются к летучей мыши в виде эха.Большинство летучих мышей задерживают излучение второго сигнала до тех пор, пока они не получат эхо от первого. Поимка добычи может вызвать кратковременную «слепоту», потому что летучая мышь не может говорить с полным ртом. Чтобы избежать этой проблемы, многие виды пищат через нос и развили множество сложных носовых выростов, управляющих их писками.
Уши летучей мыши огромные, часто в пять и более раз больше головы. Мышцы в ушах сокращаются и расслабляются при порыве звука, блокируя исходящие писки и принимая эхо.Интерпретируя входящий сигнал, летучие мыши в полете могут различать звуки дерева, вашей головы и вкусного кузнечика. Летучие мыши не слепы, но у большинства из них ночное зрение лучше, чем дневное. Они видят в черном, белом и оттенках серого.
Поскольку фрукты не летают, у летучих мышей отсутствует сложная эхолокация. Вместо этого они полагаются на отличное зрение и хорошее обоняние, чтобы найти себе пищу.
Что на ужин?
Материнское молоко— Все летучие мыши питаются молоком от рождения до шести месяцев.
Насекомые— Около 70 процентов всех летучих мышей едят насекомых: мух, комаров, жуков и тараканов. Колония летучих мышей в Техасе еженощно съедает 500 000 фунтов (226 796 кг) комаров!
Нектар — Летучие мыши, поедающие нектар, похожи на колибри с длинной мордой и языком, которые позволяют им поглощать нектар во время полета. Волосы на их теле собирают пыльцу и переносят ее от цветка к цветку. Многие виды растений не выжили бы без опылителей летучих мышей.
В сафари-парке зоопарка Сан-Диего летучих мышей Родригеса кормят нектаром и разнообразными сочными фруктами, включая апельсины, груши, виноград и арбузы, а также бананами и гранулами летучих мышей (чтобы дополнить их пищевые потребности).
Фрукты— Любителей фруктов привлекает запах спелых фруктов. Однако они не едят весь фрукт; они проглатывают весь сок и выплевывают мякоть и семена, что помогает восстанавливать тропические леса. Их поведение в отношении разбрасывания семян принесло им название «фермеры тропиков».«
Рыба и т. Д. — Некоторые виды летучих мышей едят рыбу, а также ящериц, лягушек, птиц, грызунов и даже других летучих мышей! Эти летучие мыши убивают свою добычу, кусая ее за голову. Летучие мыши-рыболовы летают над поверхностью воды, используют эхолокацию, чтобы найти рыбу, схватить ее своими острыми когтями и затолкнуть в рот.
Кровь— Только три вида летучих мышей, обитающих от Мексики до Южной Америки, питаются кровью млекопитающих — часто домашних коров — или птиц. Эти летучие мыши делают небольшой V-образный разрез на коже животного при укусе, а затем слизывают кровь.Они не пьют кровь, как говорят легенды о вампирах! А слизывать кровь с ноги животного обычно больше раздражает, чем опасно.
Химическое вещество в слюне летучей мыши предотвращает свертывание крови до того, как летучая мышь закончит есть. Это химическое вещество может иметь медицинское применение для людей. Проводятся исследования, чтобы выяснить, может ли он помочь людям, у которых есть тромбы, которые могут вызвать инсульт.
фактов о животных летучих мышей | Chiroptera
Факты о летучих мышах
- Основная добыча
- Мыши, лягушки, фрукты
- Отличительная особенность
- Большие уши обнаруживают добычу с помощью эхолокации и имеют сильные, гибкие крылья
- Среда обитания
- Оливы
Пещеры
Пещеры
, Eagles, Snakes
- Diet
- Omnivore
- Средний размер помета
- 1
- Образ жизни
- Любимая еда
- Мыши
- Тип
- Mammal
- Обнаруживает преждевременное млекопитающее
- !
Физические характеристики летучей мыши
- Цвет
- Тип кожи
- Мех
- Максимальная скорость
- 25 миль в час
- Срок службы
- 10-30 лет
- Вес
- 2 г — 1000 г (07oz — 35oz)
- Длина
- 3 см — 180 см (1,2 дюйма — 71 дюйм)
Изображения летучих мышей
Просмотрите все изображения летучих мышей в галерее.
Посмотреть все изображения летучих мышей!
«Мать-летучая мышь рожает своих детенышей, когда она висит вверх ногами»
В США обитает 47 видов летучих мышей. Летучие мыши живут во многих типах окружающей среды, за исключением чрезвычайно холодных мест (полярные регионы) и чрезвычайно жарких (пустыни).Летучие мыши являются важными опылителями и помогают контролировать популяцию насекомых. Эти животные общительны и живут группами, которые могут насчитывать сотни тысяч! Хотя летучие мыши-вампиры являются наиболее известными, есть только три вида летучих мышей, которые используют кровь другого животного в качестве пищи.
5 Летучая мышь Факты
• Некоторые летучие мыши ежегодно преодолевают расстояние до 2400 миль, чтобы провести зиму в местах с теплым климатом
• 70% всех летучих мышей питаются жуками, молью, мухами , комары и другие насекомые
• Самый крупный вид летучих мышей в мире известен как Pteropus
• Летучие мыши выживают уже более 20 лет
• Летучая мышь — это млекопитающее, которое может летать, даже не планируя. Летучая мышь Научное название
Летучая мышь — это общее название этого замечательного животного, а рукокрылые — его научное название.Летучая мышь имеет классификацию Mammalia и относится к семейству Microchiroptera.
У бразильской летучей мыши со свободным хвостом есть подвид, называемый мексиканской летучей мышью со свободным хвостом, который обитает в южной части Соединенных Штатов. Кроме того, ушастая летучая мышь Вирджинии является подвидом ушастой летучей мыши Таунсенда.
Научное название летучей мыши происходит от греческих слов cheir , что означает рука, и pteron , что означает крыло. Это потому, что части крыла летучей мыши напоминают часть руки с четырьмя «пальцами», покрытыми тонкой перепонкой.
Летучая мышь Внешний вид и поведение
Летучая мышь имеет тонкий слой коричневого, черного или серого меха. У них маленькие или большие уши и маленькие черные глаза. В зависимости от вида летучая мышь может весить всего 0,07 унции. Думайте о летучей мыши, которая весит 0,07 унции, как о легче, чем один пенни. Самый крупный вид летучих мышей может весить до 3,3 фунта. Летучая мышь весом 3,3 фунта весит примерно половину кирпича среднего размера.
Крылья летучей мыши — ее самая запоминающаяся деталь.В крыле летучей мыши есть четыре кости, которые можно представить себе как пальцы, а также кость, служащая большим пальцем. Тонкий слой кожи, называемый мембраной, соединяет эти кости, создавая гибкое крыло летучей мыши. Если вы когда-нибудь наблюдали, как летучая мышь летает, вы знаете, что она может мгновенно изменить направление. Именно эти гибкие косточки пальцев на крыльях и придают им это умение. Крылья летучей мыши также придают ей скорость. Самая быстрая летучая мышь может проехать 99 миль в час.
Если говорить о размахе крыльев, то у самого большого вида летучих мышей, известного как летучая лисица, размах крыльев составляет пять футов! Когда летучая лисица расправляет свои крылья во всю длину, они будут почти в длину / в высоту, как домашний холодильник.Самая маленькая разновидность летучих мышей, летучая мышь Китти, имеет размах крыльев чуть меньше шести дюймов. Это меньше половины длины линейки, которую вы можете использовать в школе.
Летучие мыши — социальные животные, живущие группами, называемыми колониями. (Хотя им нравится находиться рядом с другими летучими мышами, они застенчивы и избегают людей.) Иногда колония летучих мышей может исчисляться сотнями тысяч. Совместная жизнь — вот как летучая мышь защищает себя от хищников. Если сова вторгнется в колонию летучих мышей, большинство летучих мышей смогут сбежать.Самая большая колония летучих мышей находится на Филиппинах. В колонии летучих мышей Монфорт насчитывается 3 миллиона летучих мышей, и их количество продолжает расти. Безопасность в цифрах!
Летучая мышь Среда обитания
Летучие мыши живут на многих континентах, включая Азию, Северную Америку, Южную Америку, Африку, Европу и Австралию. Однако в Антарктиде нет летучих мышей, потому что они предпочитают теплый климат.
Когда вы думаете о доме летучей мыши, вы можете представить себе колонию летучих мышей, свисающую с потолка пещеры.Летучие мыши также живут на деревьях, под мостами, в норах и даже в искусственных домиках для летучих мышей. Они выбирают место для ночлега, где они будут укрыты от хищников и смогут спать днем. Во время сна летучие мыши обвивают их гибкими крыльями.
Некоторые летучие мыши на зиму мигрируют в более теплые места. Эти летающие млекопитающие впадают в спячку примерно с октября или ноября до наступления весны в марте. Летучая мышь, живущая в месте, где температура не опускается ниже 45 градусов, не может мигрировать в более теплый климат.
Летучая мышь Диета
Что едят летучие мыши? Многие летучие мыши едят насекомых, таких как комары, моль, тараканы и жуки. Маленькая коричневая летучая мышь может съесть 500 насекомых за час. Колония летучих мышей может съесть 500 000 фунтов насекомых за ночь. 500 000 фунтов клопов равны весу двух синих китов!
Летучие мыши используют эхолокацию для поиска добычи. Когда летучая мышь летает, она издает пронзительные писки и щелчки, которые люди не слышат. Когда звуковые волны, создаваемые писком летучей мыши, ударяют по объекту, звук возвращается эхом в летучую мышь.Думайте об эхолокации как о личной радарной системе летучей мыши.
Другие летучие мыши питаются нектаром. Эти летучие мыши пьют нектар из цветов, как и колибри. Некоторые летучие мыши едят фрукты, высасывая сок из спелого фрукта и выплевывая семена. Кроме того, есть летучие мыши, которые едят рыбу. Они летают над водой, хватая рыбу когтями.
Вы, наверное, знакомы с летучей мышью-вампиром. Есть три типа этих летучих мышей, которые пьют кровь таких млекопитающих, как коровы или птицы.Встречаются в Южной Америке и Мексике. Это миф, будто летучие мыши-вампиры сосут кровь этих животных. Вместо этого они кусают корову, овцу или птицу, пока она спит, и слизывают кровь, вытекающую из ноги или другой части тела животного. Эта летучая мышь поглощает всего две чайные ложки крови животного.
Летучая мышь Хищники и угрозы
У летучих мышей есть несколько хищников, включая сов, соколов, орлов, змей, енотов и кошек. Сова может сидеть на дереве возле пещеры или моста, где спит летучая мышь, и ловить ее, когда она вылетает на охоту вечером.Как вариант, енот или змея могут подобрать летучую мышь, выпавшую из рук матери и упавшую на землю.
Летучие мыши сталкиваются с угрозой потери среды обитания из-за того, что люди вырубают деревья для строительства домов и предприятий. Если их потревожить в период спячки, они могут голодать или умереть от холода. Кроме того, когда земля и посевы очищаются, это может лишить летучих мышей источника пищи. Некоторым летучим мышам угрожают в культурах, которые используют их в пищу или лекарства.
Сохраненный статус летучих мышей: наименее опасен.Многие группы по сохранению летучих мышей предлагают общественности предложения о том, как они могут помочь убедиться, что летучие мыши продолжают процветать и расти в популяции. Некоторые из этих предложений включают отказ от использования пестицидов в садах и строительство дома для летучих мышей, чтобы обеспечить защиту местных летучих мышей. Также, если вы найдете летучую мышь в спячке, не беспокойте ее.
Летучая мышь Размножение, младенцы и продолжительность жизни
Знаете ли вы, что летучая мышь может петь? Летучие мыши-самцы поют и расправляют крылья, чтобы привлечь летучих мышей-самок во время брачного сезона.К сожалению, люди не слышат пронзительную песню летучих мышей. Самец летучей мыши отмечает свою территорию во время спаривания жидкостью из своих запаховых желез. В это время роятся летучие мыши, что позволяет им найти себе пару. Самка летучей мыши может быть беременной в течение 40 дней или шести месяцев в зависимости от ее вида. У большинства рождается один ребенок раз в год.
Мать-летучая мышь рожает своего детеныша или щенка, когда она висит вверх ногами. Она должна поймать своего щенка крыльями после того, как он родится! Щенок весит около от общего веса своей матери.Итак, если мама щенка весит один фунт, ребенок весит всего фунта. Щенок такого размера не такой тяжелый, как хомяк. Щенок рождается слепым и без волос. Он пьет молоко своей матери до шести месяцев и цепляется за нее во время полета. Через шесть месяцев мать учит своего щенка летать и охотиться за едой. Когда щенок овладевает этими навыками, он может выжить самостоятельно.
Летучая мышь в зависимости от вида может прожить от 5 до 30 лет. Ученые обнаружили, что летучие мыши в спячке имеют тенденцию жить дольше, чем не спящие.У многих видов летучих мышей самки живут дольше самцов. Самая старая летучая мышь в истории дожила до 41 года!
Заболевание, известное как синдром белого носа, приводит к гибели как молодых, так и старых летучих мышей во время спячки. Эта болезнь убирает у летучей мыши запас жира во время сна. Это может привести к тому, что летучая мышь проснется и вылетит из пещеры в поисках пищи. Скорее всего, ослабленная летучая мышь будет голодать, потому что зимой мало насекомых.
Летучая мышь Население
Во всем мире обитает более 1300 видов летучих мышей.Наибольшая концентрация видов летучих мышей обитает вблизи экватора. Статус сохранения летучих мышей следующий: «Наименее подвержены угрозе», и популяция остается довольно стабильной. Тем не менее, для летучих мышей всегда прилагаются усилия по сохранению, потому что у большинства из них бывает только один щенок в год.
Просмотреть все 79 животных, имя которых начинается с B
Часто задаваемые вопросы о летучих мышах (часто задаваемые вопросы)
Летучие мыши являются плотоядными, травоядными или всеядными?
Летучие мыши всеядны. Летучие мыши едят авокадо, манго, бананы, дикие финики и многое другое.Три вида летучих мышей-вампиров питаются кровью других млекопитающих. Некоторые летучие мыши пьют нектар из цветов, в том числе из меда, юкки и примулы вечерней. Неудивительно, что эти летучие мыши особенно любят нектар лунных цветов! Некоторые виды летучих мышей едят рыбу, мышей и лягушек.
Кусают ли летучие мыши?
Да, летучие мыши кусаются. Летучие мыши-вампиры обычно кусают ногу коровы или козы, чтобы кровь вытекла, чтобы она могла немного ее выпить. Летучая мышь кусала человека только в том случае, если чувствовала угрозу.Но, как известно, летучие мыши держатся от людей подальше.
Летучие мыши слепы?
Нет, летучие мыши не слепые. Это один из самых больших мифов. Летучие мыши ведут ночной образ жизни, поэтому ищут пищу в темноте. Они плохо видят в темноте, но и не слепы.
Опасны ли летучие мыши?
Нет, летучие мыши не опасны. На самом деле как раз наоборот! Как и бабочки и пчелы, летучие мыши являются важными опылителями, помогающими расти деревьям и цветам. Они распространяют семена, которые помогают выращивать хлебное дерево, инжир, персики, финики, бананы, авокадо и другие фрукты.Кроме того, они поедают насекомых, помогая удерживать популяцию насекомых на приемлемом уровне. Следует отметить, что летучие мыши имеют репутацию переносчиков бешенства. На самом деле очень небольшое количество летучих мышей переносят это заболевание.
Что значит, когда вы видите летучую мышь?
Когда вы видите летучую мышь, вы знаете, что солнце село и пора искать еду. Если вы видите летучую мышь на заднем дворе, значит, летучая мышь поселилась на ближайшем дереве или нашла уютное место на чердаке. Наконец, вы знаете, что летучая мышь нашла источник пищи в вашем районе.Будь то нектар, насекомые или фрукты, летучая мышь будет оставаться здесь до тех пор, пока найдет свой обед каждую ночь!
Какому королевству принадлежат летучие мыши?
Летучие мыши принадлежат Королевству Животных.
К какому типу принадлежат летучие мыши?
Летучие мыши принадлежат к типу Chordata.
К какому классу принадлежат летучие мыши?
Летучие мыши относятся к классу Mammalia.
К какой семье принадлежат летучие мыши?
Летучие мыши принадлежат к семейству Microchiroptera.
К какому отряду принадлежат летучие мыши?
Летучие мыши относятся к отряду рукокрылых.
К какому роду принадлежат летучие мыши?
Летучие мыши принадлежат к роду Emballonuridae.
Какое покрытие есть у летучих мышей?
Летучие мыши покрыты мехом.
В какой среде обитания живут летучие мыши?
Летучие мыши живут в лесах и пещерах.
Что является основной добычей летучих мышей?
Летучие мыши охотятся на мышей, лягушек и фруктов.
Какие отличительные особенности летучих мышей?
У летучих мышей сильные гибкие крылья и большие уши, которые обнаруживают добычу с помощью эхолокации.
Какие хищники являются летучими мышами?
Хищники летучих мышей включают сов, орлов и змей.
Какой средний размер помета летучих мышей?
Средний размер помета летучих мышей составляет 1.
Что интересного факта о летучих мышах?
Летучие мыши обнаруживают добычу с помощью эхолокации!
Каково научное название летучей мыши?
Научное название летучей мыши — рукокрылые.
Какова продолжительность жизни летучей мыши?
Летучие мыши могут жить от 10 до 30 лет.
Как быстро летучая мышь?
Летучая мышь может двигаться со скоростью до 25 миль в час.
Источники
- Дэвид Берни, Дорлинг Киндерсли (2011) Животное, Окончательное визуальное руководство по дикой природе мира
- Том Джексон, Lorenz Books (2007) Всемирная энциклопедия животных
- Дэвид Берни, Зимородок (2011) Энциклопедия животных зимородка
- Ричард Маккей, University of California Press (2009) Атлас исчезающих видов
- Дэвид Берни, Дорлинг Киндерсли (2008) Иллюстрированная энциклопедия животных
- Дорлинг Киндерсли (2006) Энциклопедия животных Дорлинга Киндерсли
- Дэвид У.Macdonald, Oxford University Press (2010) Энциклопедия млекопитающих
Жизни летучих мышей
Жизни летучих мышей
Летучие мыши — единственные настоящие летающие млекопитающие на Земле и одна из самых разнообразных групп млекопитающих. Каждый пятый вид млекопитающих — летучая мышь. Некоторые летучие мыши едят фрукты, некоторые опыляют цветы, другие ловят рыбу из воды, и, конечно же, есть печально известная летучая мышь-вампир, которая питается кровью. Но большинство летучих мышей в Северной Америке едят насекомых, и это для нас хорошо.Некоторые из насекомых, поедаемых летучими мышами, являются основными вредителями сельскохозяйственных культур; другие, например комары, просто доставляют неудобства, но также могут быть переносчиками болезней. Летучие мыши помогают поддерживать баланс популяций насекомых.
Летучие мыши ведут ночной образ жизни, то есть наиболее активны ночью. Днем летучие мыши обитают в пещерах, под корой больших деревьев и других местах. Одной из самых необычных черт летучих мышей, помимо того факта, что они летают, является то, что они перемещаются в темноте и охотятся на добычу с помощью эхолокации или сонара.Они посылают голосовой сигнал и слушают, чтобы звуковые волны приходили в норму. Таким образом они могут приближать летающих насекомых с точностью лазера. Удивительно, но некоторые виды жертв, такие как некоторые бабочки, развили системы «глушения», которые мешают работе сонара летучих мышей.
В регионах с умеренным климатом летучие мыши-насекомоядные вынуждены справляться с зимней нехваткой добычи за счет зимней спячки или миграции. Все летучие мыши, у которых доказано, что они подвержены синдрому белого носа, находятся в спячке.Объединение в группы от небольших до действительно массивных (насчитывающих сотни тысяч отдельных летучих мышей) — это один из способов сохранения энергии летучими мышами, находящимися в спячке. Другой способ для летучих мышей — отложить беременность до весны. Хотя спаривание происходит осенью, самки «накапливают» сперму в своих телах за зиму. Затем оплодотворение происходит весной, когда начинается новый сезон насекомых, и можно ожидать обильного питания для матери и новорожденного (только одно в год для большинства видов летучих мышей).
Летучие мыши могут играть ключевую роль в поддержании некоторых пещерных экосистем, принося внешний источник энергии (их гуано или помет) в бедные энергией, темные пещеры.Пещерные биологи считают, что некоторые пещерные существа могут сильно зависеть от гуано летучих мышей как источника пищи, и их выживание может оказаться под угрозой, поскольку популяции летучих мышей исчезают с синдромом белого носа.
По очевидным причинам (ночной образ жизни, способность летать и предпочтение темным, сырым ямам в земле в качестве среды обитания) летучих мышей трудно изучать, и биологи очень мало знают о большинстве видов. Даже что-то столь элементарное, как «Сколько там летучих мышей?» Ученым сложно ответить на этот вопрос.Эта нехватка информации об основных биологических особенностях летучих мышей стала серьезным препятствием на пути эффективного устранения угрозы синдрома белого носа.