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

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



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vu1tur
Большое спасибо, но это не решает полностью мою задачу, описанную на предыдущей странице.
Мне нужно узнать SID пользователя, зная лишь то, что в его имени есть подстрока XXX. Либо узнать SID текущего пользователя (от которого открыт сеанс). Как это организовать?
 
Добавлено:
Написал прогу для выяснения SID текущего пользователя.
Кому надо - качайте: http://slil.ru/22668140
Спасибо всем за помощь!

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

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как обрабатывать в смд русский текст из файла (похоже в кодировке виндоуз)?

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serge2005
mode con codepage select=1251 > nul

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 13:37 08-04-2006
Serge2005

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
hacsoft
Не помогло. Может я что-то не так делаю?

Код:
 
del /q /s file1.txt > nul 2>&1
mode con cp select=1251 > nul
echo тест проверка >> file1.txt
:L0
for /F "delims== tokens=1,*" %%i in (file.txt) do call :L1 %%i "%%j"
goto :eof
 
:L1
set L=%1
set M=%~2
if "%M%"=="cd \\\Registry" call :L2 %L%
goto :eof
   
:L2
set N=%1
echo %N%>> file1.txt
set N=%N:cmd=menu%
echo %N%=command>> file1.txt
goto :eof
 

file.txt:
Подробнее...
 
Кто знает, помогите, пожалуйста...

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serge2005
Так ты все равно в кодировки DOS пиши, а на выводе будет Win

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 19:28 08-04-2006
Serge2005

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
hacsoft
Спасибо, кажется понял!!!

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[b]Serge2005[/b]
Какой вердикт по твоему скрипту на сегодняшний день: работает или нет.
если не работает, то давай в тег [more] его листинг, файлы для примера и список того, что не работает. Буду разбирать локально, а то удаленно не очень получается.

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

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
jak_forest
Вот:
1) Исходный файл: default_eng.bar
Подробнее...
2) Скрипт: 02.cmd
Подробнее...
Это работает, но очень долго. Есть вариант упростить? Ускорить?

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

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

Цитата:
Это работает, но очень долго. Есть вариант упростить? Ускорить?

на сколько долго ? у меня на машине работает всего 5 секунд.
если в начало файла вставить строку  

Код:
@echo off
то время выполнения сокращается до 2 секунд (т.е. в 2,5 раза)

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



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

Всего записей: 98 | Зарегистр. 02-02-2004 | Отправлено: 13:01 10-04-2006
jak_forest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
и я так понимаю ты формируешь только строки, которые надо будет вручную потом расставлять по нужным местам ?
ЗЫ: там у тебя есть набольшой глюк - cmd35 b button35 оба попадают под условие перехода на метку L12

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

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