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

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

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
jak_forest
Спасибо!!!!
 
Добавлено:
А теперь продолжение задачки...Скорее всего надо использовать AutoIt. Надо сгенеренный файл file1.txt "интегрировать" (заменить соответсвующие строки в default_rus.bar строками из file1.txt) в default_rus.bar:
Подробнее...

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 13:36 10-04-2006
VelDmi

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
netsh.exe interface ip dump > netsh.cfg
можно ли сделать, чтобы создаваемый файл был не в ДОС, а в WIN кодировке?

Всего записей: 529 | Зарегистр. 03-12-2002 | Отправлено: 17:39 10-04-2006 | Исправлено: VelDmi, 17:40 10-04-2006
KapralBel



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

Код:
 
@Echo Off
ChCp 1251
netsh.exe interface ip dump > netsh.cfg
ChCp 866
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 18:08 10-04-2006
VelDmi

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




личная переписка (п. 2.8.2. главы VIII Соглашения по использованию)

Всего записей: 529 | Зарегистр. 03-12-2002 | Отправлено: 08:09 11-04-2006 | Исправлено: vu1tur, 08:15 11-04-2006
jak_forest

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

Код:
 
@echo off
del /q split.txt > nul 2>&1
for /f "delims== tokens=1" %%i in (file1_2.txt) do echo %%i>>split.txt
findstr /v /g:split.txt default_eng.bar>default_rus.bar
type file1_2.txt>>default_rus.bar
 

скорее всего должно помочь.
пробуй. (окончательный тест возможен у тебя на софте)
file1_2.txt - файл формированный предыдущим твоим батником

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 08:55 11-04-2006 | Исправлено: jak_forest, 09:06 11-04-2006
Serge2005

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
jak_forest
Что-то это не то((( Он удаляет все строки menuX=, где Х>1 из default_rus.bar. А потом в его конец дописывает файл file1.txt. А это не то что нужно((( Нужна заменя существующих в default_rus.bar строк строками из file1.txt.
Может это проще на AutoIt сделать?

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serge2005
может
но по идее построения ini-файла(каким и является обрабатываемый файл) то параметр может находиться в любом месте секции. А т.к. секция там всего одна, то прога должна найти нужные ей строки в любом месте файла хоть отсортируй их по порядку. Для проверки запусти софт с подсунутым ему сгенерированным файлом. он его должен все-таки прожевать.
 
ЗЫ: там у тебя, кстати, в начальном файле какие-то проблемы с "menu35=Remote Helper
"

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 09:58 11-04-2006
Serge2005

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

Цитата:
ЗЫ: там у тебя, кстати, в начальном файле какие-то проблемы с "menu35=Remote Helper  

Не вижу...а в чем? У меня вроде все ок....АА, понял: if "%M%"=="-LaunchRA" call :L12 %L%  - это я уже исправил%)
Дык он удаляет вообще все секции menuX=!!!! А из файла мы берем только часть....В этом баг - не подходит такое((((

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 10:03 11-04-2006
jak_forest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serge2005
проблема в том что есть и баттон и цмд запускающее одно и то же
посмотри на menu35 в сформированном файле.
 
попробуй заменить в последнем скрипте
Код:
 
for /f "delims== tokens=1" %%i in (file1_2.txt) do echo %%i>>split.txt

на
Код:
 
for /f "delims== tokens=1" %%i in (file1_2.txt) do echo %%i=>>split.txt

может поможет.

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

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
jak_forest
С 35 давно уже разобрался. Это не главное.
Подробнее...
Главное, что он удаляет menu все, кроме 1ого. А мне этого не надо! Мне надо только заменить существующие на сгенеренные...

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 15:40 11-04-2006
Romero_Ekb



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такая утилита control.exe
Почему-то от одного пользователя срабатывает как надо (запускает панель управления или нужный апплет, если параметры указать), а от другого - запускает проводник (не важно, какие параметры указаны). С чем связано может быть?

Всего записей: 98 | Зарегистр. 02-02-2004 | Отправлено: 11:02 12-04-2006
Serge2005

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

Код:
 
FOR %%d IN (c d e f g h i j k l m) DO IF EXIST %%d:\WIN51 SET disk=%d
 
cd /d %disk%:\Distr\Total_Setup_by_Serge
 

При переборе дисков вылетает ошибка, что нет файла на сдроме (его там правда нет и не должен быть). Как сделать, чтоб ошибка не вылетала, а этот диск просто пропускался?
Предложение про удаление буквы сдрома из списка не принимается))

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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
Какая у тебя ОС?
У меня на XP -  все ОК

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

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
ХР. Как же так??? Он пытается считать файл с сдрома, не видит его и выдает ошибку!! У меня глючит....((((((

Код:
 
FOR %%d IN (c d e f g h i j k l m) DO IF EXIST %%d:\WIN51 >NUL 2>&1 SET disk=%%d
 
cd /d %disk%:\Distr\Total_Setup_by_Serge
 

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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
Какая команда у тебя дает ошибку?
Случайно не

Цитата:
 
cd /d %disk%:\Distr\Total_Setup_by_Serge

Что за ключ /d у команды cd

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

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

Цитата:
Что за ключ /d у команды cd

смена и диска и папки.
 
Добавлено:
У меню ошибка вылетает из-за попытки чтения файла с пустого сидирома. Он предлгает Перечитать, Пропустить или отменить (видимо чтение файла). С этой ошибкой все верно определяется. Мне нужно, чтоб этього окошка не вылетало. Вытащите диск, если он у вас в сдроме иил допишите букву вашего сдрома, если ее нет в списке букв...

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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
Приведи лог (перенаправь не в Нуль а в файл)
Ибо у меня проверяет и при наличии диска в приводе и при его отсутствии

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

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
не помогает. лог пусой. я не знаю, как заставить его игнорить ошибки....(

Код:
 
FOR %%d IN (c d e f g h i j k l m n o p r s t u v x) DO IF EXIST %%d:\WIN51 SET disk=%%d
 
cd /d %disk%:\Distr\Total_Setup_by_Serge
 

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

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

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 00:53 13-04-2006
VelDmi

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serge2005
set tagfile=\WPI.ico
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist "%%i:%tagfile%" set CDROM=%%i:
 
у меня эта конструкция работает, причем с двумя cd проверял.

Всего записей: 529 | Зарегистр. 03-12-2002 | Отправлено: 07:01 13-04-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