Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd) 2

Модерирует : gyra, Maz

Widok (10-03-2009 12:39): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
(часть 1)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 5
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Курс лекций для начинающих. Полезно и просто описано
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
· Уильям Станек - Командная строка Microsoft Windows (вплоть до w2k3)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек)
 
Старая версия первого сообщения

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:08 19-11-2007 | Исправлено: Dmitriy05, 22:49 13-04-2008
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vitrzn

Код:

echo \\server\share>1.txt
dir /b \\server\share>>1.txt

iamantbk

Цитата:
Подскажите, пожалуйста, как протестировать архив rar, и, если он нормальный, то распаковать, иначе - остановиться и сообщить об этом.  


Код:

rar t archive.rar
if %errorlevel%==0 (echo ok) else echo broken

Вместо echo ok команду распаковки
 
 
Добавлено:
Tipulatoid
Вах, не заметил, что ты уже ответил

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 11:18 22-07-2008 | Исправлено: igor_andreev, 11:21 22-07-2008
iamantbk

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Tipulatoid
Спасибо!

Всего записей: 61 | Зарегистр. 30-04-2008 | Отправлено: 11:54 22-07-2008
Kilich



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Требуется опять помошь гуру.!
 
Помогите написать батник который:
 
В бесконечном цыкле будет проверять наличие текстового-дос файла и если найдет отправит на ЛПТ порт (печать), после чего опять будет его искать!!!
 
Срочно нужно - Помогите...

----------
Честь превыше всего!
Верность превыше чести!

Всего записей: 267 | Зарегистр. 18-09-2006 | Отправлено: 15:55 22-07-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kilich
 
Проверь, будет работать?

Код:
 
@echo off
:loop
 
if exist file.doc (print /d:lpt1 file.doc)
ping -n 6 localhost 1>nul
 
goto:loop
 

Каждые 5 сек (команда ping дает паузу)

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:27 22-07-2008
vmix



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
 
Спасибо, но нужно совсем другое, этот батник пингует и пишет в лог ответы в виде up/down
 

Цитата:
Код:@echo off  
setlocal enabledelayedexpansion  
for /l %%a in (0,1,254) do (  
   ping -n 1 0.10.0.%%a  
   if !errorlevel!==0 (  
      echo !date! !time! 0.10.0.%%a up>>hosts.log  
   ) else (  
      echo !date! !time! 0.10.0.%%a down>>hosts.log  
   )  
)  

 
А требуется циклически (10 минут) логировать только факт включения/отключения по каждому хосту из списка hosts.txt.

Всего записей: 162 | Зарегистр. 22-10-2002 | Отправлено: 16:45 22-07-2008
Kilich



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
01MDM
Все срабатывает, но есть одно НО..
print - посылает на печать файл, и если там одна строка - он выплюнет целый лист...
Нельзя ли както это задействовать для матричного принтера?


----------
Честь превыше всего!
Верность превыше чести!

Всего записей: 267 | Зарегистр. 18-09-2006 | Отправлено: 17:20 22-07-2008
was1978

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто подскажет, голову уже сломал, есть батник следующего содержания:
 
scan.bat > mess.txt
out.bat
 
Файл scan.bat в свою очередь со следующим содержимым:
 
echo Bla-bla
netsh diag connect iphost 111.111.111.111 41134
echo Bla-bla
netsh diag connect iphost 111.111.111.111 41134
echo Bla-bla
netsh diag connect iphost 111.111.111.111 41134
echo Bla-bla
netsh diag connect iphost 111.111.111.111 41134
echo Bla-bla
netsh diag connect iphost 111.111.111.111 41134
 
Так вот до обработки out.bat дело почему то не доходит, out.bat не срабатывает.
 
Если строку out.bat заменить на out.bat > out.txt, то создается файл out.txt нулевого размера и содержимого и все.
Если строку out.bat заменить содержимым файла out.bat то содержимое его даже не начинает обрабатываться.
 
 
В чем может быть проблема?

Всего записей: 5 | Зарегистр. 10-02-2006 | Отправлено: 06:41 23-07-2008
vmix



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
was1978
 
если содержимое out.bat  это exit, то все нормально

Всего записей: 162 | Зарегистр. 22-10-2002 | Отправлено: 15:43 23-07-2008
Kantariya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здраствуйте!
Вопрос:
нужно чтобы батник пинговал конкретный адрес (192.168.1.2)
и если пинг прошол то писал "Статус - ДА",  если НЕ прошол то "Статус - НЕТ"
..................заранее спасибо

Всего записей: 2 | Зарегистр. 26-02-2008 | Отправлено: 07:48 25-07-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid

Цитата:
@echo off  
set archive=dantiterror.rar  
 
rar t %archive%  
if %errorlevel%==0 (  
   rar e -c %archive%  
) else (  
   echo.  
   echo   
   echo Ошибка! Архив %archive% поврежден!  
   pause  
)

 
Всё работает, СПАСИБО.
 
А можно немного доработать этот батник?
Чтобы все ошибочные\битые файлы скидывал в список , в файл bad_archive%data%.log
Если невозможно создавать каждый раз файл с текущей датой, то либо всё в один файл, но чтобы просто добавлялась строка.
 
p.s. И еще наверное такое сделать нельзя, при нахождении битого архива комп противно пищит! Можно как-то это откл?

Всего записей: 1468 | Зарегистр. 28-10-2007 | Отправлено: 08:33 25-07-2008
qwert001



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как батником отключить всех пользователей, подключенных к сетевым дискам (шаркам) на сервере (выполняться будет на сервере перед архивацией...)
очень нужно...

Всего записей: 44 | Зарегистр. 19-09-2006 | Отправлено: 18:49 25-07-2008
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
qwert001
http://technet2.microsoft.com/windowsserver/ru/library/59cfe3ff-1e33-42ea-a4f6-966f63e035611049.mspx?pf=true

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 19:36 25-07-2008 | Исправлено: igor_andreev, 19:39 25-07-2008
Rurik



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
was1978
если вызываешь один батник из другого

Цитата:
scan.bat > mess.txt

то надо писать  

Код:
CALL scan.bat > mess.txt

иначе дальнейшее выполнение прекращается

Всего записей: 343 | Зарегистр. 07-05-2002 | Отправлено: 09:57 26-07-2008
qwert001



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
Спасибо, помогло

Всего записей: 44 | Зарегистр. 19-09-2006 | Отправлено: 11:07 26-07-2008
Tipulatoid



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kantariya

Код:
@echo off
ping -n 1 192.168.1.2
if %errorlevel%==0 (
   echo Статус - ДА
) else (
   echo Статус - НЕТ
)

 
vitrzn

Цитата:
Чтобы все ошибочные\битые файлы скидывал в список , в файл bad_archive%data%.log  
Если невозможно создавать каждый раз файл с текущей датой, то либо всё в один файл, но чтобы просто добавлялась строка.


Код:
@echo off
set archive=dantiterror.rar
 
rar t %archive%
 
if %errorlevel%==0 (
   rar e %archive%
) else (
   echo %archive% >> bad_archive_%date%.log
   echo.
   echo Ошибка! Архив %archive% поврежден!
   pause
)

 

Цитата:
p.s. И еще наверное такое сделать нельзя, при нахождении битого архива комп противно пищит! Можно как-то это откл?

Писк я специально вставил в прошлой версии. Отключил.

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 12:11 26-07-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
 
Я оценил
 
Интересный код
  echo 
 
И вот тут же вопросик! А какие ещё звуки можно извлечь?

Всего записей: 1468 | Зарегистр. 28-10-2007 | Отправлено: 15:51 26-07-2008
ru1956

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid

Цитата:
Интересный код
  echo   

У меня почему то неправильно отображается.
А при вставке скопированого вот так:
 echo [].
Кокой же на самом деле этот код и в какой кодировке?

Всего записей: 589 | Зарегистр. 15-05-2006 | Отправлено: 19:50 26-07-2008 | Исправлено: ru1956, 19:52 26-07-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ru1956

Цитата:
Кокой же на самом деле этот код и в какой кодировке?

 
beep:
DOS dec:007 (черный кружок)
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 20:14 26-07-2008 | Исправлено: 01MDM, 20:15 26-07-2008
ru1956

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
Thanks!
Почему же у меня неправильно отображается?
Чтото с кодировкой скорей всего.
Мож кто знает?

Всего записей: 589 | Зарегистр. 15-05-2006 | Отправлено: 22:26 26-07-2008
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ а никто не встречал примеров зашифрованных cmd файлов, в моём случае необходимо привести cmd в состояние когда он будет далеко не удобочитаем, в идеале саморасшифровывающийся по любомупростому алгоритму
заранее багодарен.

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 11:27 28-07-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd) 2
Widok (10-03-2009 12:39): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru