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

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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
В таком варианте трудно что посоветовать  
имеется в виду, что
1. Одна сторона - будем работать только так, по такой программе
2. На ту сторону влияния нет
3. Программа не автоматизируется
 
Единственный вариант - инструкция, утвержденная руководством и под подпись бухгалтеру.

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Спасибо утешил
 
 
Добавлено:
а почему нету смайлика который вешается на виселеце/дереве/лампе ???

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 15:49 14-02-2006
Serge2005

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброго времени суток. Я пока почти ничего не знаю про *.bat, но хочу научиться. Такой вопрос: мне надо запустить программу, конкретнее кейген, ввести в него строку текста, сгенерировать номер, и потом записать его в num.txt (не важно где). Реально это сделать?

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 16:31 14-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
Если КГ поддерживает вывод в стандартный поток вывода - то можно
Но я что-то не видел таких КГ

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

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
А что это значит?
А можно тогда просто из *.bat файла ввести строчку в одно из открытых окон, нажать там кнопку и тп.?

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 17:17 14-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
У тебя какая система?
Если ВинХР, то вызови "Все программы\Стандартные\Командная строка"
Набери там команду Dir вот это и есть вывод в стандартный поток вывода.
Что бы скинуть весь этот вывод в текстовый файл набери следующую строчку
Dir >C:\Dir.txt
А теперь открой файл C:\Dir.txt (можно блокнотом)
 
Обычно все КГ выводят сгенерированный ключ в текстовое поле самой программы
Единственный выход выделить это значение, скопировать в буфер обмена и перенести в текстовый файл (можно в открытый блокнот)
 
А вообще задача звучит так

Цитата:
 как с неизвестной программы перенести данные в текстовый файл

 
Добавлено:

Цитата:
А можно тогда просто из *.bat файла ввести строчку в одно из открытых окон, нажать там кнопку и тп.?

Это теоретически можно сделать, есть утилиты копирующие информацию из файла в буфер обмена, а вот программ автоматом вставляющие текст из буфера обмена в нужное поле нужной программы - не слыхал
 
ЗЫ. Может уточнишь что ты хочешь получить более подробно - возможно найдется обходное решение

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

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

Цитата:
Может уточнишь что ты хочешь получить более подробно - возможно найдется обходное решение

Я пытаюсь написать скрипт или *.bat для установки Total Commander. Саму программу можно скопировать папкой, установки плагинов и тп. - прописать в wincmd.ini. С этим понятно. А вот зарегистрировать программу..... Есть кейгенератор и отдельно крек. Я хочу сделать, чтоб программа автоматически регилась на имя из файла (или из реестра) во время установки....

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 18:08 14-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
Насколько я знаю к Тоталу можно сгенерировать wincmd.key файл и кидать в папку к нему - будет работать

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

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
Можно. Но я хочу сделать установку на любой машине, то есть генерить ключик надо отдельно каждый раз. В этом то и есть проблема - сгенерить ключик - то есть запустить прогу, ввести в нее нужные текстовые поля, сгенерить....

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 18:17 14-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
Т.е. ты хочешь для каждого компа иметь отдельные рег.данные?
Кинь мне в ZaharenkoVN@TUT.By - KeyGen & Patch - посмотрю, что можно сделать

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serge2005
посмотри на предмет програмки AUTOIT но я думаю что она тебе пригодится в этом нелегком деле.

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 08:38 15-02-2006
ZloyBehemoth



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

Всего записей: 242 | Зарегистр. 12-10-2004 | Отправлено: 08:48 15-02-2006
jak_forest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZloyBehemoth
самым простым решение станет использование утилиты forfiles (в 2003 в поставке, в ХР и 2000 в resource kit-е). Как вариант могу предложить сперва перемещать все файлы в темповую папку, генерировать "дата - 10дней" (см. посты раньше) и с помощью xcopy копировать только файлы новее указанной даты.

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 09:05 15-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
С данным КГ - ничего сделать нельзя
Есть вариант, заранее наготовить для каждой машины wincmd.key - обозвать из по имени компа (например server1.key, market2.key) а потом в батнике давать команду
Copy %ComputerName% C:\WinCMD\WinCMD.key

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



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

Всего записей: 242 | Зарегистр. 12-10-2004 | Отправлено: 11:12 15-02-2006 | Исправлено: ZloyBehemoth, 11:17 15-02-2006
olegupb



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Проблема не серьезная и не для работы, так для себя
Ко мне приходит рассылка мейл.ру(анекдоты) вот такого формата
Можете подсказать как с помощью cmd вырезать оттуда рекламу и лишний текст, а оставить только чистые анекдоты.
Хочу всю рассылку которая уже есть сохранить в файл и почистить от лишнего текста. Руками это делать возможно, но очень долго поскольку приходит с начала 2005 каждый день по сегодня.

Всего записей: 734 | Зарегистр. 09-02-2005 | Отправлено: 11:12 15-02-2006
jak_forest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
olegupb
алгоритм основанный на примере (но если всегда идет структура разная, то не поможет):
для всех файлов  
сперва ставишь переменную flag в 0,  
перебираешь все строки в файле
если flag = 1 то скидываешь строку в нужный файл, иначе пропускаешь
Если нашел
Цитата:
Лучшие 13 анекдотов (http://omen.ru/ANEK.HTM) дня - чертова дюжина:
, то выставляешь flag в 1.
Если нашел
Цитата:
Подписать друга на "13 анекдотов" можно тут:
, то выставляешь flag в 0.
 
 
Добавлено:
да не забудь, что в циклах надо использовать переменные со знаком ! а не с %

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 11:47 15-02-2006
olegupb



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
jak_forest
А можно чуть подробнее и точнее плз(а если не трудно, то полностью(блин какой я наглый))
Я просто пробовал раньше, так у меня то первые пробелы пропадали, то вообще строки пропадали
В каждом письме присутствуют

Цитата:
Лучшие 13 анекдотов (http://omen.ru/ANEK.HTM) дня - чертова дюжина:


Цитата:
Подписать друга на "13 анекдотов" можно тут:

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

Всего записей: 734 | Зарегистр. 09-02-2005 | Отправлено: 11:56 15-02-2006 | Исправлено: olegupb, 11:57 15-02-2006
KapralBel



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

Код:
 
@Echo Off
Set begin=Лучшие 13 анекдотов
Set end=Подписать друга на
ChCp 1251
Set isCopy=0
For /f "delims= skip=5" %%a  In ('Type *.ane') Do Call :_P %%a
ChCp 866
GoTo :EOF
 
:_P
Set Str=%*
Set tmpBeg=%Str:~0,19%
Set tmpEnd=%Str:~0,18%
If /i "%tmpEnd%"=="%end%" Set isCopy=0
If %isCopy% == 1 Echo. %Str% >>Anek_Result.txt
If /i "%tmpBeg%"=="%begin%" Set isCopy=1
GoTo :EOF
 

 
1. Все файлы должны иметь вид *.ane
2. Если они в Вин-кодировки - то работает этот код
Если они в ДОС(ОЕМ)-кодировке - то убирай строки
ChCp 1251
ChCp 866

3. В файлах должны отсутствовать следующий символ " - иначе будет глючить (пока победить не смог)

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



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
Спасибо
Запустил, сработало
Но остались два нюанса:
1. кавычки(в принципе нужны в выходном файле)
2. удаляет пробелы между строками и в итоге получаеться один большуууущий анекдот

Всего записей: 734 | Зарегистр. 09-02-2005 | Отправлено: 13:16 15-02-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru