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

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

Модерирует : KLASS, IFkO

vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задачи на bat-файлах
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Набор GNU утилит для win32
· Встроенный справочник по командам: hh ntcmds.chm
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
 
Готовые решения и частые вопросы:
· Создание листинга директорий на примере создания плейлиста
· Разименовывание переменных
· Переименовывание файлов по дате создания
· Запуск сетевого подключения
· Запуск bat файлов как сервис
· Пример выполнения команд по результату команды ping
· Использование даты на день раньше чем сегодня
 
Невозможности — что нельзя сделать с помощью командных файлов:
· изменть конфигурацию IP на удаленной машине (без помощи rcmd.exe) [добавил ALEF]
 
 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Старая версия первого сообщения

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 22:58 18-11-2005 | Исправлено: Elroir, 05:50 11-11-2006
0ne_quaker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jak_forest
Работает! Спасибо.
Только вот расшифровать бы ещё некоторые строки

Всего записей: 102 | Зарегистр. 16-03-2005 | Отправлено: 17:53 28-02-2006 | Исправлено: 0ne_quaker, 17:54 28-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
0ne_quaker
Какие строки тебе не понятны?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:57 28-02-2006
0ne_quaker

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

Цитата:
 IF #%2#==## goto syntax
setlocal  

и

Цитата:
if %j% GEQ %count% del /q  %target%

 

Цитата:
ECHO Example: %~nx0 F:\users 5

Всего записей: 102 | Зарегистр. 16-03-2005 | Отправлено: 11:08 03-03-2006 | Исправлено: 0ne_quaker, 11:12 03-03-2006
KapralBel



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

Цитата:
IF #%2#==## goto syntax

Если второй параметр, передаваемый в батник пустой
#%2# -  принимает значение ## -если 2-й параметр пустой, если он имеет значение 123 - то #123#
 

Цитата:
if %j% GEQ %count% del /q  %target%

GEQ - Great or EQualence - больше или равно
См If /?
 

Цитата:
ECHO Example: %~nx0 F:\users 5

%~nx0 - из имени выполняющегося батника выделяется его имя и расширение, без пути
См FOR /?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:42 03-03-2006
jak_forest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а вот такой каверзный вопрос:
можно ли в начале cmd/bat файла сказать, что стандартный поток вывода (поток вывода ошибок) не на экран а в файл?

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 12:20 03-03-2006
Alan Mon

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jak_forest
В начале cmd - вряд ли. Но можно вывод ошибок каждой команды перенаправлять в файл:
команда >> errors.txt 2>&1

----------
Ребята, давайте жить дружно. Кот Леопольд

Всего записей: 1116 | Зарегистр. 22-07-2004 | Отправлено: 12:33 03-03-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
jak_forest
2 способа
1. В каждой строке батника сделать перенаправление в файл
2. Вызов батника с перенаправлением в файл Super.Cmd >Log.txt (можно вызвать из другого батника)

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:38 03-03-2006
jak_forest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel Alan Mon
про оба способа знаю. Сенкс. Просто хотел сделать вообще по хитрому. ну на нет, как говорится и почину нет.
 
первый способ вызывает много гемороя, если есть много команд с выводом, а второй не очень красивый, если учесть что это будет вызываться диспетчером заданий

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 16:46 03-03-2006 | Исправлено: jak_forest, 16:47 03-03-2006
0ne_quaker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Спасибо, теперь понял что к чему
Скрипт действительно рулит.

Всего записей: 102 | Зарегистр. 16-03-2005 | Отправлено: 11:34 07-03-2006
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а командные файлы со счётчиком работают? Нужно сделать скрипт типа:

Код:
Введите ФИО первого пользователя: Ivanov Mikhail Sergeevich
команда (например, создать каталог с именем первого пользователя)
закончить? НЕТ
Введите ФИО второго пользователя: Demidov Alexey Pavlovich
команда (например, создать каталог с именем второго пользователя)
закончить? НЕТ
Введите ФИО третьего пользователя: Trofimov Sergey Ivanovich
команда (например, создать каталог с именем третьего пользователя)
закончить? ДА

Согласен, в данном примере можно обойтись без использования счётчика. Но это всего лишь пример!

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 17:40 07-03-2006
hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cluster
Можно циклом for

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 18:09 07-03-2006
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hacsoft
да вот я уже подумываю об этом.. только я не совсем спец в этом.. Вот моя рабоячая версия без всяких счётчиков и массивов. Подробнее...

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 18:35 07-03-2006
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как узнать установлен ли определенный шрифт в системе?  
Если не установлен, то как установить?

Всего записей: 936 | Зарегистр. 30-09-2005 | Отправлено: 10:42 08-03-2006
igaraev



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Товарищи подскажите пожалуйста. Какой нибудь хороший Shell под windows вместо родного command.com

Всего записей: 25 | Зарегистр. 09-03-2006 | Отправлено: 06:58 09-03-2006
MonsterMax



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igaraev
вообще то виндовс шелл это explorer.exe и я не поверю что ты не слышал про ASTON.  
 
А вообще вопрос к модерам - вроде не по теме про шеллы

Всего записей: 38 | Зарегистр. 08-09-2004 | Отправлено: 10:05 09-03-2006
nightlight

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

Цитата:
Какой нибудь хороший Shell под windows вместо родного command.com

 
Bash Вас устроит?
 
http://www.steve.org.uk/Software/bash/
 
Добавлено:
jak_forest

Цитата:
можно ли в начале cmd/bat файла сказать, что стандартный поток вывода (поток вывода ошибок) не на экран а в файл?

Элементарно Ватсон!
Для этого надо в начало файла  поместить следующие строки:
 
@echo off
if exist %temp%\temp.cmd del /q %temp%\temp.cmd
for /f "skip=6 tokens=*" %%i in (%0) do echo %%i >> %temp%\temp.cmd
cmd /c %temp%\temp.cmd > e:\tmp\eto.log
if exist %temp%\temp.cmd del /q %temp%\temp.cmd
exit /b
 
 
Добавлено:
Vitus_Bering

Цитата:
Как узнать установлен ли определенный шрифт в системе?  
Если не установлен, то как установить?

http://winfaq.com.ru/winnt/45.html

Всего записей: 112 | Зарегистр. 17-03-2004 | Отправлено: 20:56 09-03-2006 | Исправлено: nightlight, 22:38 09-03-2006
jak_forest

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

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 08:46 10-03-2006
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nightlight, спасибо.
Как установить - понятно, а как узнать установлен ли определенный шрифт?

Всего записей: 936 | Зарегистр. 30-09-2005 | Отправлено: 11:45 10-03-2006
Rost admin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача состоит в следующем:
 
Есть структура папок:
c:\1\primer1.txt
c:\1\primer2.tx
c:\2\primer3.tx  
c:\3\primer4.tx
 
На другом диске есть зеркало этой структуры
 
Нужно написать батник который бы смотрел дату создания файла и если дата более новая чем на зеркале, то копировал его на зеркало

Всего записей: 166 | Зарегистр. 22-06-2004 | Отправлено: 14:25 10-03-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Rost admin
тебе надо исключительно возможностями .bat файлов?
Есть хорошая утилитка Robocopy - которая это делает (и еще много чего)

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:31 10-03-2006
   

Страницы: 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

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах
vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru