Как сделать bat файл с командой cmd ping

Обновлено: 06.07.2024

В статьях по настройке операционной системы Windows 10 часто можно встретить рекомендацию создать BAT файл, записать в него определенные команды и выполнить. Но, при этом, далеко не всегда объясняется, что это такое, как оно создается и запускается.

В данной инструкции мы постараемся закрыть данный вопрос. Здесь вы узнаете, что такое BAT файл, как создать BAT файл в Windows 10, а также как его редактировать и выполнять.

Что такое BAT-файл в Windows 10

BAT файл (или пакетный файл) – это текстовый документ с расширением « .BAT », в котором хранится список команд для выполнения командным интерпретатором операционной системы. Запуск такого файла позволяет выполнить все сохраненные в нем команды одна за одной. Пакетные файлы используются для запуска программ и автоматизации рутинных или часто повторяющихся задач. Например, с помощью BAT можно организовать регулярную очистку временных папок, создание резервных копий, редактирование реестра Windows 10, а также решение других задач по системному администрированию.

Создание BAT файла через Блокнот

Самый простой вариант создания BAT файлов в Windows 10 это создание через « Блокнот » или другой простой текстовый редактор . Например, можно использовать Notepad++ или Akelpad.

Чтобы запустить « Блокнот » можно воспользоваться поиском в меню « Пуск » или нажать комбинацию клавиш Win-R и выполнить команду « notepad ».

запуск Блокнота

После открытия программы « Блокнот » в нее нужно вставить команды для выполнения. Для примера введем команду, которая выполнит 100 запросов ping к домену Google.

команды в Блокноте

После ввода команд, документ нужно сохранить с расширением BAT. Для этого открываем меню « Файл – Сохранить как » или используем комбинацию клавиш Ctrl-Shift-S.

сохранение команд в Блокноте

Дальше откроется стандартное окно для сохранения документов. Здесь нужно указать папку для сохранения, выбрать « Тип файла – Все файлы (*.*) » и ввести имя с расширением BAT (.bat). Например, можно ввести « Ping.bat ».

Обратите внимание, если вы запустили « Блокнот » без прав администратора, то сохранить документ на системный диск ( C:) не получится. В этом случае его можно сохранить в папку пользователя или на другой диск и потом переместить.

выбор типа и имени файла

После сохранения в выбранной вами папке появится готовый к использованию BAT файл.

Создание BAT файла переименованием TXT

Также в Windows 10 можно создавать BAT файлы с помощью переименования обычных текстовых файлов (с расширением *.txt). Другими словами, вы можете сначала создать обычный текстовый документ с расширением TXT, сохранить в него все нужные команды, и уже потом превратить его в исполняемый пакетный файл изменив расширение с TXT на BAT.

Чтобы воспользоваться этим способом необходимо включить отображение расширений. Для этого нужно открыть окно « Параметры папок ». Сделать это можно разными способами. Например, можно открыть папку, перейти на вкладку « Вид » и нажать на кнопку « Параметры ».

кнопка Параметры

Также вы можете воспользоваться поиском в меню « Пуск ». Для этого в поиск нужно ввести фразу « Параметры проводника »

поиск в меню Пуск

Либо можно воспользоваться меню « Выполнить ». Для этого нужно нажать комбинацию клавиш Windows-R и ввести команду « control.exe folders ».

меню Выполнить

функция Скрывать расширения

После этого, при переименовании вы сможете изменять расширение.

переименование файла

Изменив расширение с TXT на BAT вы получите исполняемый пакетный файл.

Редактирование созданных BAT-файлов

Для того чтобы отредактировать уже созданный BAT-файл его нужно открыть в любом простом текстовом редаторе (например, в Блокноте, Notepad++ или Akelpad). Чтобы отредактировать BAT с помощью Блокнота достаточно кликнуть по нему правой кнопкой мыши и выбрать пункт « Изменить ».

редактирование BAT-файлов

После этого выбранный файл откроется в программе Блокнот и вы сможете отредактировать его содержимое.

Создание BAT файлов для запуска программ

В BAT файле вы можете использовать любые команды, которые могут быть выполнены при помощи « Командной строки » Windows 10. Но, BAT-файлы также могут использоваться для запуска программ и приложений.

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

Например, для того чтобы запусть браузер Google Chrome нужно выполнить:

При необходимости можно укзать полный путь к программе, которую нужно запустить:

Для запуска других пакетных файлов нужно использовть команду « call ». Ниже показано, как выглядит формат записи данной команды.

Например, для того чтобы запустить пакетный файл « test.bat », который находится на рабочем столе, нужно выполнить:

Другие команды для BAT файлов

Также в BAT файлах часто используется команда « @echo off ». Данная команда наоборот, отключает вывод выполняемых команд на экран, а знак « @ » предотвращает вывод самой команды « echo ».

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

Работа с переменными . Для работы с переменными в BAT используют команду « set ». С помощью данной команды можно создать новую переменную или переопределить уже существующую. Например, для того чтобы создать переменную « Name » и присвоить ей значение « Ivan » нужно выполнить следующую команду:

Операции с файлами и папками . Кроме этого в BAT часто используют команды для работы с файлами. Ниже мы рассмотрим несколько самых популярных из них.

Доброго времени суток, столкнулся с проблемой . нужен батник который будет пинговать айпишник к примеру 192.168.10.14, в отсутствии пинга он должен запустить другой батник и закрыться. Если пинг есть - просто пингует. Все что я не пробую либо пингует либо запускает(

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

Добавлено через 34 минуты

впринципе файлик он запускает в зависимости от пинга а вот повторение процесса не пашет. __________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Нужно написать батник который запускает определенный файл
На вашей машине создайте исполняемый файл, который: В определенное время запускает файл который.

Как создать батник, который создает батник с командами?
Уже знаю, что такая тема была, но до конца не понял. Как создать батник, который создаст батник с.

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

Решение

огромное спасибо, осталось лишь два вопроса
1. как спрятать этот процесс от глаз (можно ли сделать так чтоб его не было видно)
2. что посоветуете почитать и с помощью чего лучше писать (все таки каждый раз просить не хочется)

Добавлено через 4 минуты
и вот еще)) когда нет пинга он постоянно запускает файл можно ли этот момент сделать разовым

когда нет пинга он постоянно запускает файл можно ли этот момент сделать разовым Вильям Р. Станек. "Командная строка Microsoft Windows. Справочник администратора"

Для скрытия консольных окон (bat и cmd файлов) есть несколько утилит.
Утилита cmdow

Для скрытия консольного окна в пакетном файле должна быть следующая строка:

Если строка является первой, то окно будет скрыто сразу, но мигнет на долю секунды. Если строка находится в середине, то окно будет скрыто после обработки команд предшествующих cmdow @ /HID.

Скрытие окна - не единственная функция утилиты. Подробнее читайте в Компьютерра-онлайн.

Домашняя странице программы
Выполнение отдельной команды

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

CMD /C (<Путь>cmdow @ /HID) & (<Консольная команда>)

CMD /C (%windir%\Bin\cmdow @ /HID)&(7za.exe x -y -aoa Far1705.7z -o"%ProgramFiles%")

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

hidcon.exe adduser.cmd username password

запустит в скрытой консоли adduser.cmd, передав ему в качестве первого параметра username, в качестве второго - password.

Сходна с hidcon.

hidec.exe [/W] <path>\batch.cmd

Ключ /W (не чувствителен к регистру) заставляет дожидаться окончания отработки пакетного файла. Так в приведенном ниже примере

25-07-2012:16-30 пинг пропал на ip 92.168.1.10
25-07-2012:16-40 пинг появился на ip 92.168.1.10

и в каждой сети отдельный отчет по ip.
пжлст помогите исходником.

2 Ответ от Vetal142 2012-07-26 14:37:23

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

3 Ответ от powerwer 2012-07-27 08:30:56 (изменено: powerwer, 2012-07-27 08:31:33)

Добрый день.

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


Vetal142 - честно говоря я не понимаю в bat файлах, мне рекомендовали сделать все это с bat-ом по этому я обращаюсь к вам за помощью.

4 Ответ от MegaScrew 2012-07-31 09:18:41

powerwer, ip адреса в одной подсети 192.168.1 или она все время меняеться?

5 Ответ от MegaScrew 2012-07-31 12:44:15

возможно есть вариант по короче, у меня получилось так:

powerwer, при копировании этого текста в батник главное не назови его (батник) ping или pingtest, а то получишь рекурсивный вызов.
Так как ответ на свой вопрос не получил сделал самый простой вариант который проверяет ip адреса в одной подсети например 192.168.1.* и результат записывает в текстовый файл ip.txt.
Запускать в следующем виде "file.bat 192.168.1.10 192.168.1.20"

Мастера, если видите корявость кода, подскажите как его улучшить и оптимизировать.

6 Ответ от alexii 2012-07-31 15:25:26

а то получишь рекурсивный вызов.

возможно есть вариант по короче, у меня получилось так:

powerwer, при копировании этого текста в батник главное не назови его (батник) ping или pingtest, а то получишь рекурсивный вызов.
Так как ответ на свой вопрос не получил сделал самый простой вариант который проверяет ip адреса в одной подсети например 192.168.1.* и результат записывает в текстовый файл ip.txt.
Запускать в следующем виде "file.bat 192.168.1.10 192.168.1.20"

Мастера, если видите корявость кода, подскажите как его улучшить и оптимизировать.

Терминальный сервер у меня на другой подсети а пользователи на другой, я хочу запустить его на серваке чтоб фиксировал и пропадание сетей. и еще будет ли работать этот батник в windows 2008 R2 64X ?

powerwer, так попробуйте запустить под win 2008, не думаю что ping.exe или cmd.exe сильно отличаются от тех что на win 7 Pro.
Не забудьте сюда написать работает или нет.

Запускать в следующем виде "file.bat 192.168.1.10 192.168.1.20"

Мастера, если видите корявость кода, подскажите как его улучшить и оптимизировать.

MegaScrew У меня получился такое, как ты показал назвал свой MySco.bat 192.168.1.10 192.168.1.20 и после это как обычно этот файл превращается на неопознанный т.к. после расширения файла не положено нечего добавить. Попробовал запустить без ip т.е. MyCso.bat и в итоге у меня появился окошко cmd и через 2-3 секунды закрылся, сразу же создался .0.txt файл с вложениями
Ping Propal 01.08.2012 21:16:36,82
Ping Propal 01.08.2012 21:17:08,67

пишет что пропал но какой ip он пропинговал ? было бы замечательно если он написал бы Ping Propal 01.08.2012 21:16:36,82 192.168.1.10 и еще что означает 2 цыфры после даты - 21:16:36,82 ?
Может я что то не то сделал? Исправьте ПЖЛСТ.

ping xxx > nul || echo куйня какаято

ping xxx > nul || echo куйня какаято


это мнение или решение?

powerwer, сделайте следующее:
1) переименуйте файл в MyCso.bat
2) скопируйте или перенесите файл MyCso.bat в корень диска d:\ или c:\ диска, главное что бы у Вас были права на запись на этом диске
3) запустите cmd.exe если не знаете как то напишите
4) в командной строке cmd.exe перейдите в папку куда Вы скопировали MyCso.bat
5) и наберите: MySco.bat 192.168.1.10 192.168.1.20
PS:
192.168.1.10 и 192.168.1.20 - это параметры которые передаются батнику в командной строке

решение в одну строку

powerwer, сделайте следующее:
1) переименуйте файл в MyCso.bat
2) скопируйте или перенесите файл MyCso.bat в корень диска d:\ или c:\ диска, главное что бы у Вас были права на запись на этом диске
3) запустите cmd.exe если не знаете как то напишите
4) в командной строке cmd.exe перейдите в папку куда Вы скопировали MyCso.bat
5) и наберите: MySco.bat 192.168.1.10 192.168.1.20
PS:
192.168.1.10 и 192.168.1.20 - это параметры которые передаются батнику в командной строке

MegaScrew ты ваааащеее молодец, круто. РЕСПЕКТ.

PING с записью в файл:

Вот собственно и сам скрипт. Его можно немного отредактировать и пометь для своих целей. Если вы не хотите экспериментов, то смело пролистывайте вниз там вы найдете готовый zip архив.

Далее все просто скопировали скрипт допустим в корень диска C: Осталось ввести команду: cscript //nologo pingtime.vbs>pingtime.log Сразу же рядом со скриптом появится файл pingtime.log, открыв его вы увидите ping и время пинга вот в таком формате. Важно: В файле pingtime.log иногда не читабельный текст. Данная проблема возникает из-за кодировки. Чтоб избежать этого смените кодировку. Либо просто поменяйте текстовый редактор. Мне нравится Notepad++ он подсвечивает код и в нем очень много настроек. Вот в принципе и все. Если кому то помог то значит статью писал не даром.

Скачав архив вы найдете 3 файла.

  1. pingtime.vbs
  2. start.bat
  3. pingtime.log

Чтоб не заморачиваться рекомендую скачать и распаковать архив, запустить start.bat. И уже через пару секунд вы увидите pingtime.log начнет записывать пинги.

Спасибо большое помогло.

Что именно не понятно. Что поменять чтоб было более понятней?

Думаю стоит попробовать поменять кодировку файла .txt

кириллицу не пишет в логе. Набор символов

Поменяйте кодировку в вашем логе и будет счастье.

Ой спасибо то что нужно. Говорят точки wi-fi отваливаются. А доказать ничего не могу. Вот теперь с логом все будет предельно ясно.

Спасибо большое! Исправил.

Выдает данную ошибку
C:\pingtime.vbs(1, 1) Ошибка компиляции Microsoft VBScript: Недопустимый знак

Привет Макс! Статью чуть исправил, там был Лишний +
Так же сделал архив куда закинул скрипт и батник для запуска. так что скачай, распакуй и пользуйся 😉
Если не доверяешь что там за файлы, они спокойно открываются текстовым документом. 😉
Кстати у тебя скорее всего была ошибка из-за кодировки самого скрипта.

ссылку обновил тоже.

Ах да совсем забыл, если удалить pingtime.log то при запуске скрипта он появится снова! ?

rem время в формате 23:15:51,50
set xxa=%TIME%

rem дата в формате 07.09.2016
set xxd=%DATE%

rem формирование трех имен для временных файлов вида
rem

rem формирование строки текущего времени (для назв. временн. файлов)

rem кол-во единиц часов+кол-во минут+кол-во секунд+кол-во д.секунд (без раздел.)
set xxb=%xxa:

rem кол-во десятков часов
set xxc=%xxa:

rem если десятков часов нет, то дописать в xxb впереди тройку
rem иначе дописать впереди xxb кол-во десятков часов
if -%xxc%==- (set xxb=3%xxb%) else set xxb=%xxc%%xxb%

rem если число часов xxb = 0(формат времени с ведущ.0) -то дописать впереди 3
if -%xxb:

0,1%==-0 set xxb=3%xxb%

rem out1 без последней цифры
set out2=%out1:

rem последняя цифра out1
set xxa=%out1:

rem прибавить 2 к последней цифре out1
set /a xxa+=2

rem out2 + последний знак из xxa
set out3=%out2%%xxa:

set /a xxa-=1
set out2=%out2%%xxa:

rem создание временного файла и вывод в него

rem получили три различных имени файла без точек
set out1=

%out1%.tmpp1
set out2=

%out2%.tmpp1
set out3=

rem удаление старых временных файлов
del %TEMP%\*.tmpp1

rem вывод даты в лог
date /t > %filelogname%

:loop
rem пауза в одну сек с небольшим, между основными пингами (-n 3 = 2сек и т.д.)
ping -n 2 localhost > nul

rem вывод результатов ОДНОГО пинга в файл out1
ping %iptoping% -n 1 > %TEMP%\%out1%

rem файл аут2 больше не нужен
del /q %TEMP%\%out2%

rem запишем полученные данные в выходной файл, добавив метку времени
echo %timedata% %pingdata% >> %filelogname%
goto loop

Я хочу научиться писать сценарии и пытался создать скрипт, который автоматически запускает эту команду в командной строке после:

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

моя проблема в том, что это приведет к этому, когда я выполняю эту команду как скрипт:

Screenshot showing output on running the batch file.

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

Итак, как написать пакетный файл, чтобы запустить эту команду только один раз и отображать результат пинга?

введите в окне командной строки ping /? и прочитайте короткий выход справки после отжимать возвращение. Или посмотрите на

  • пинг - документация по Windows XP
  • пинг - статья Microsoft TechNet

объяснение опции -t данный Microsoft:

пингует указанный хост до остановки. Для просмотра статистики и продолжения введите Control-Break. Чтобы остановить тип Контроль-С.

вы можете использовать:

или сначала проверить, доступен ли сервер:

Я уверен, что вы должны были назвать результирующий файл bat как "ping.летучая мышь." Если вы переименуете файл на что-то другое, скажите pingXXX.летучая мышь. Это, безусловно, работать. Попробовать ее.

мой пакетный файл содержит только код ниже

enter image description here

С именем файла как ping.летучая мышь

С именем файла ABC.летучая мышь!--2-->

enter image description here

не уверен, что именно вы пытаетесь, но ваш опубликованный код должен работать нормально. если вы не хотите, чтобы команда отображалась, добавьте @echo off при запуске скрипта. Если у меня есть приведенный ниже код в файле с именем test.bat и запустить его в командной строке как test.bat это будет работать просто отлично.

в адрес EDIT: где главная забота ping команда была неузнаваема. ping команда вообще будет располагаться под C:\Windows\System32\ здесь C:\ быть корневым каталогом. В случае, если корневой каталог отличается, Вы можете получить корневой каталог с помощью %SystemRoot% переменная окружения и может сказать, как

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

если команда распознается; он выведет путь, как

Else приведет к ошибке

Я знаю, почему вы используете имя файла "ping", и вы используете код "ping", он просто пытается запустить себя, потому что его выбранный каталог в том месте, где этот файл, если вы хотите, чтобы он на самом деле пинг, поместите это перед командой ping: "cd C:\Windows\system32", фактический файл, который пингует сервер, находится там!

Если вы хотите использовать имя " ping.летучая мышь", небольшой трюк, чтобы использовать этот код:

просто добавьте, что " cd\", и вы в порядке. ;)

из пакетного файла, ping ip только один раз, используя следующую команду:
Пинг 192.168.199.10-n 1

enter image description here

Я использовал образец Mofi и изменил некоторые параметры, нет, вы не можете сделать-t

@%SystemRoot%\system32\ping.exe-n -1 4.2.2.4

единственное, что вам нужно подумать в этом случае, в каком каталоге вы находитесь на вашем компьютере. Окно командной строки показывает C:\users\rei0d\desktop\ как ваш текущий каталог.

поэтому единственное, что вам действительно нужно сделать, это:
Удалить desktop путем "идти вверх" с командой cd .. .

таким образом, полная команда будет:

наличие 2 скриптов под названием test.бита и пинг.летучая мышь в той же папке:

тестовый скрипт.bat содержит одну строку:

скрипт ping.bat содержит следующие строки:

тест исполнителей ".bat " результат на CMD будет:

почему? Потому что "тест.bat "вызывает" ping.bat " ("пинг google.com" интерпретируется как вызов " ping.bat " script). То же самое происходит, если скрипт "ping".bat "содержит" ping google.com". Сценарий будет казнить себя в петле.

  1. не имя скрипта "пинг.летучая мышь."
  2. вы можете назвать сценарий как " ping.bat", но внутри скрипта используйте " ping.exe google.com "вместо" ping google.com".

просто напишите команду "ping your server IP" без двойной кавычки. сохранить имя файла в качестве имени файла.bat, а затем запустите пакетный файл от имени администратора

Читайте также: