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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Fagot_UA



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможно ли с помощью батника определить свободное место на диске, и вслучае если оно меньше например 1Г выполнить определенную команду ( допустим ECHO).  
 
Добавлено:
"fsutil volume diskfree C:" выдает такое:
 
Всего свободно байт           : 1507676160
Всего байт                    : 9524871168
Всего доступно свободных байт : 1507676160
 
как его урезать чтобы было только 1507676160 ?

Всего записей: 2 | Зарегистр. 19-07-2006 | Отправлено: 16:00 08-11-2006
Lapochka ili Chai



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

Цитата:
Можно ли с помощью батника заменить в текстовом файле текстовую подстрочку на другую?
...
Зависит от строения файла (разделители слов, специальные символы и т.д.)

 
Это обычный текстовый конфигурационный файл  типа Подробнее..., а я хочу заменить все вхождения подстрочки "D:\\My-folder-001\\" на на подстрочку "E:\\Folder-001-a\\" (когда прихожу с работы домой) и наоборот Подробнее... -- когда прихожу из дома на работу.

Всего записей: 847 | Зарегистр. 27-11-2003 | Отправлено: 18:22 08-11-2006 | Исправлено: Lapochka ili Chai, 18:25 08-11-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lapochka ili Chai
Если количество пробелов между словами в строчке не критично, то создаем файл chg_cfg.cmd со следующим содержанием...
Запускаем его без параметров (дома) или с параметром work (на работе).
В коде надо заменить "config.txt" на название конфигурационного файла.
 
Если же пробелы важны (да и просто более простой способ):
Создаем 2 конфигурационных файла home.cfg и work.cfg с необходимыми изменениями.
Создаем 2 командных файла at_home.cmd и at_work.cmd и кладем в ту же директорию,  где находится оригинальный конфиг. файл. На работе запускаем at_work.cmd, а дома at_home.cmd. Код файлов
Здесь тоже надо заменить "config.txt" на название конфигурационного файла.
 

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:34 08-11-2006
VladimirKvach

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fagot_UA
 
В составе 2003 есть утилита freedisk.
Результат проверки свободного места (сравнения с заданным минимальным значением)  она возвращает в errorlevel.
Может проверять свободное место не только локального компьютера, но и других компьютеров в сети.
Одно но, работает она под xp и 2003. Под 2000 надо искать из ее reskit.
 
У меня при загрузке работает батник, который проверяет каждый диск каждого сервера и сообщает мне на каком свободного места осталось мало.

Всего записей: 23 | Зарегистр. 03-04-2006 | Отправлено: 05:04 09-11-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
VladimirKvach
Fagot_UA
Вообще есть хорошая утилита, которая висит в трее и регулярно проверяет свободное место на указанном диске - при уменьшении места ниже определенного порога (для каждого диска свой порог) - посылает е-майл

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



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VladimirKvach
То что доктор прописал. Спасибо выручил.
 
KapralBel
Случайно не Disk Space Checker? Она не хочет работать через мой прокси-сервер.

Всего записей: 2 | Зарегистр. 19-07-2006 | Отправлено: 11:06 09-11-2006 | Исправлено: Fagot_UA, 11:07 09-11-2006
uZver



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
есть задача отследить окончание нескольких процессов, после чего выполнить архивацию логов. Пока процессы запускались последовательно - вопросов не было. но в угоду скорости  требуется распараллелить запуск, время окончания у всех разное - как отследить?

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 11:26 09-11-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Fagot_UA
Эта утилита - ты прав

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
 
Утилиты, висящие в трее и кушающие ресурсы, как говорится, в топку. А уж вешать что-нибудь лишнее на сервер вообще нафиг.
 
По моему, батник запускающийся на админской машине при включении и проверяющий свободное место на дисках серверов, более надежное решение.

Всего записей: 23 | Зарегистр. 03-04-2006 | Отправлено: 11:27 09-11-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
VladimirKvach
1. В памяти она 1176Кб - так что памяти отжирает под себя немного, тем более на сервере
2. Использую её более года - никаких глюков не заметил
3. Использование батничков - тоже рабочее решение

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если же сервер на удаленном филиале и надо оттуда слать письмо о заканчивающемся свободном месте, то опять таки лучше чем blat ничего не придумано.
 
В батнике:
 
freedisk .....
if %errorlevel%==1 blat .....

Всего записей: 23 | Зарегистр. 03-04-2006 | Отправлено: 11:37 09-11-2006
Levitant



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
У меня 2 вопроса. Как сделать, что бы при копированию с дискеты не надо было вписывать диск, а использовался бы текущий диск там, где находится сам бат фаил.
 
И напишите пожалуйста если не сложно как можно найти в файле opera6.ini определенный текс (цифру 2456) и заменить её на 3333.
За ранее благодраю.

Всего записей: 62 | Зарегистр. 09-11-2006 | Отправлено: 15:20 09-11-2006
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как при помощи батника удалить все папки с вложенными подпапками и имеющимися в них файлами, если имена папок неизвестны, пример: нужно удалить все папки и файлы из D:\Temp и при этом не удалить папку Temp

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 16:13 09-11-2006
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Levitant тут все найдешь - http://www.batchfiles.co.nr/  
 
 

Всего записей: 11951 | Зарегистр. 10-12-2003 | Отправлено: 16:15 09-11-2006
Levitant



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Maza Faka, del "C:\Documents and Settings\%USERNAME%\Local Settings\Temp" /f /s /q
 
 
 
Там сайт на английском.
А тут как-нибудь нельзя. Напишите пожалуйста код

Всего записей: 62 | Зарегистр. 09-11-2006 | Отправлено: 16:22 09-11-2006 | Исправлено: Levitant, 16:25 09-11-2006
levkadub



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
поскажите как реализовать такое
 
есть файл содержащий текст вида:
share$     c: \share     расшаренная папка
 
 
 
строк в файле около 100
надо  сделать так  
md e:\"share"
net share "share"=e:\"share"
xcopy \\server\"share"\*.* \\fileserver\"share" /s /e /c /h /o /y
 
т.е. создать папку расшарить ее и скопировать в нее файлы
 
а в качестве переменной "share"  использовать имя папки из текстового файла.
 

Всего записей: 414 | Зарегистр. 23-04-2005 | Отправлено: 16:47 09-11-2006
tolyn77



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

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 16:58 09-11-2006 | Исправлено: tolyn77, 18:16 09-11-2006
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maza Faka  
1  - удалить сам каталог и потом создать его  снова  
RMDIR /S /Q D:TEMP
MKDIR D:\TEMP
2  -  один из вариантов, наверняка есть другие и возможно красивее  
ECHO ON
DIR /B  D:\TEMP >  %temp%.\myfile.txt
TYPE %temp%.\myfile.txt
FOR /F %%I in (%temp%.\myfile.txt) do DEL D:\TEMP\%%I  /S /Q;
DIR /B  D:\TEMP >  %temp%.\myfile.txt
FOR /F %%I in (%temp%.\myfile.txt) do RD D:\TEMP\%%I  /S /Q;
del %temp%.\myfile.txt
 
 
 
 
 
   
 
 
Добавлено:
Levitant ну и что что по аглицки  - смотри меню
 09. Get CD (Current Directory) into a variable    это получить текущий каталог в переменную
и  19. Replace a string on a file automatically     замена строки в файле  
 
 
Добавлено:
даже тупо посмотреть все скрипты и то поймешь что и как и зачем .  

Всего записей: 11951 | Зарегистр. 10-12-2003 | Отправлено: 17:07 09-11-2006
ViSiToR



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

Цитата:
как можно найти в файле opera6.ini определенный текс (цифру 2456) и заменить её на 3333.

Просто интересно, для какой цели?

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 18:04 09-11-2006
Maza Faka



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

----------
Купи 5 чебуреков и собери кошку

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 18:35 09-11-2006 | Исправлено: Maza Faka, 18:38 09-11-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