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

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

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

vu1tur (27-04-2007 11:55): продолжаем в теме «Задачи на bat-файлах 3»  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Задачи на bat-файлах (часть 1)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки
 
Полезные утилиты
 
Готовые решения и частые вопросы:
  • Встроенный справочник по командам
  • Создание помощи по всем командам консоли 2000 и XP
  • Альтернативные решения »
  • Работа с текстом, датой, и файлами »
  • Администрирование, автоматизация и сеть »
  • Работа с переменными и параметрами ком. строки »
     
    Описания работы команд и символов участниками темы:
    · setlocal enabledelayedexpansion и переменные окружения
    · символы & и && в командной строке
    · Переменная %0
     
    Невозможности — что нельзя сделать с помощью командных файлов:
    · изменть конфигурацию IP на удаленной машине (без помощи rcmd.exe) [добавил ALEF]
     
    Старая версия первого сообщения

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 16:59 14-11-2006 | Исправлено: Elroir, 04:30 26-04-2007
    winvik



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А вот еще такая задача: сделать логон-скрипт, чтобы он юзеру при входе правил настройки прокси сервера в Internet explorer? Выставлял галку "использовать прокси", добавлял адрес прокси + порт?
    Микрософт предлагает скрипт vbs для просмотра этих настроек, а для изменения нету... Кто-нибудь делал подобное?

    Всего записей: 10 | Зарегистр. 07-03-2007 | Отправлено: 07:27 13-03-2007
    Maza Faka



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

    Цитата:
    А вот еще такая задача: сделать логон-скрипт, чтобы он юзеру при входе правил настройки прокси сервера в Internet explorer? Выставлял галку "использовать прокси", добавлял адрес прокси + порт?  
    Микрософт предлагает скрипт vbs для просмотра этих настроек, а для изменения нету... Кто-нибудь делал подобное?

     

    Код:
     
    @Echo off
    Reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
    Reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_SZ /d 192.168.0.1:8080 /f
     

    Адрес прокси и номер порта выстави свои и кинь пользователю в папку "Автозагрузка"

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:38 13-03-2007 | Исправлено: Maza Faka, 08:41 13-03-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    winvik
    Вообще конкретно эта задача легче решается политикой домена

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:41 13-03-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    2 Admins
    Вот здесь есть неплохая статья по bat файлам, может выложите в шапку?

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 11:57 13-03-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    неплохая статейтка
    ALL
    итак, уважаемые господа!
    поскольку частенько приходится иметь в кривым текстом, созданным различными кривыми скриптами, включая этот, не совсем ровный форум, возникла маза, почему бы не создать батник, который будет в буквальном смысле слова "вылизывать" плохо отформатированный текст
    едиственное, надо определиться с параметрами форматирования
    и как-то общаком скинуться ими
    на вскидку, могу предложить следующие:
    два пробела -> один пробел
    пробел и перевод строки -> перевод строки
    две пустых строки -> одна пустая строка
    пробел пустая строка -> пустая строка
    и тд и тп
    здесь кто сколько сможет, накидайте чего не хватает, ибо все учесть я, ессно, не могу
     
    ну и, ессно, после этого уже надо бы взяться за реализацию
    или уже может кто решал проблему, тогда выкиньте сюда сценарий

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 12:28 13-03-2007
    KapralBel



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

    Цитата:
    Вот здесь есть неплохая статья по bat файлам, может выложите в шапку?
    ОК
    Пример - получение и обработка списка пользователей
     
    Добавлено:
    Nagual
    И смысл такого форматирования?
    А если 2 пробела имеют смысл?

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:32 13-03-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    смысл форматирования в его скорости, а правильность можно править в конфиге сценария, если не понятен смысл, объясню
    ты копируешь отсюда сценарий, заключенный в теги кода [ code][/code ] и, вне зависимости от его размера, тебе приходится тупо удалять в редакторе концевые пробелы, тратя время и нервы и проклиная кривизну форума, не знакомо такое?
    имхо в большинсве случаев два пробела не нужны
    если все таки они понадобатся, можно закомментить строку с форматированием пробела, отформатировать все и поставить где надо два пробела или, на крайняк, забить на это и делать все руками, ..., ...
    в принципе как раз трабла с пробелом весьма и весьма актуальна и именно в этой теме, то есть написании командных  сценариев, так как, например, большинству других скриптов на это, в общем то, по барабану, а тот факт, что они копируются с лишними пробелами на конце, не оказывает на их работу никакого влияния
    а здесь все происходит наоборот и вся ветка забита фразами типа "Не работает", "Для работы удалите пробелы" и тд
    почему бы не решить проблему, используя сам сценарий, как раз в тему имхо

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 13:12 13-03-2007 | Исправлено: Nagual, 13:20 13-03-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Nagual
    1. тут я не читатель, я писатель
    2. Тупо править концевые пробелы не буду. У меня плагин в ФАР Менеджере автоматически их удаляют
    3. Если народ не может прочитать в шапке сообщение

    Цитата:
    Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!  

    Ты думаешь они воспользуются советом из той-же шапки насчет форматирующей утилиты?

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:32 13-03-2007
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tipulatoid спасибо код работает, единственное как ранее говорили некоректно работает с пустыми строками - просто их убивает
    Smitis Ваш вариант правда вставляет строку в конец  
     
    сам INI состоит из секций разделенных пустыми строками, iKeyLogOn=+ нужно вставить именно во 2ю секцию взамен iKeyLogOn=- или внаглую если нет первого, родное место 10я строка, а строк в файле 2363
    замена нужных строк у меня уже работает, но у некоторых пользователей отсутствует стока iKeyLogOn=- и gsar проходит мимо, и нельзя взять шаблонный ini, поскольку у всех свои собственные настройки программы
    1.ini

    Код:
    [LanDocs Options]
     
    BDEAlias=UESR_ASDUD
    SQLType=DOAOracle
     
    SecuritySystem=1
    WorkflowSystem=-
    ExchangeSystem=-
    ExchangeFile=-
    iKeyLogOn=-
    wbcontainer=iKey
    wbprefix=vcert
    iKey=+
    DeviceKeyDll=IKeyOld.dll
    HandleMsgParam=+
    SpellCheckerMode=0
    MapiProfile=Microsoft Outlook Internet Settings
     
    ShedulerEnabled=-
    SHServerName=172.17.48.32
    NewMsgStyle=+
    DigitalSignFullMode=-
     
    .......

     
    останавился на Вашем варианте igor_andreev
    работает правильно, едиственное вставляет большими буквами IKEYLOGON=+ но это некритично похоже..
     
    спасибо всем

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 13:56 13-03-2007 | Исправлено: JohnRD, 13:58 13-03-2007
    ViSiToR



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Nagual
    100% соглашусь с KapralBel - Никто в шапку ради скирпта для очистки пробелов лезть не будет, а те кто не поленятся, через пару дней (если не часов) про этот “обработчик” забудут, так как нужно будет для начала помещать текст в файл, прогонять его через другой батник, и лишь потом наслаждаться(?) результатом
     
    И ещё, так, для общей информации - чтобы совсем не мучаться с удалением пробелов, просто нажал кнопку “Редактировать” в верху сообщения того кто оставил нужный тебе код, и скопировал нормально текст, без никаких пробелов


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

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 14:23 13-03-2007 | Исправлено: ViSiToR, 14:25 13-03-2007
    igor_andreev

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

    Цитата:
    работает правильно, едиственное вставляет большими буквами IKEYLOGON=+ но это некритично похоже..

    Если критично станет - думаю, для человека, у которого рядом с addline.exe лежит gsar.exe это не проблема -s"IKEYLOGON" -r"iKeyLogOn"

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 14:35 13-03-2007
    JohnRD

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

    Код:
    type 1.INI | gsar -s"iKeyLogOn=-" -r"iKeyLogOn=+" -F >2.INI
    type 2.INI | find /I "iKeyLogOn=+" && goto C   ##нужно ли обработать если не нашел??
    addline iKeyLogOn=+ 10 2.INI && (type 2.INI | gsar -s"IKEYLOGON=+" -r"iKeyLogOn=+" -F >3.INI & goto F)
     
    :C
    copy /y 2.INI 1.INI && goto :EOF
     
    :F
    copy /y 3.INI 1.INI

    можно упростить наверно.. подскажите куда смотреть я еще подумаю
     
    Евгений
     

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 17:23 13-03-2007 | Исправлено: JohnRD, 18:00 13-03-2007
    Levitant



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Народ помогите плиз. Нужно скопировать папку в другое место.
    команда хкопи не помогает. Пишу вот так:
    Код:
    xcopy "E:\Документы\Документы" H:\1c /s /e /h /y
     

    Пишет, что имя файла введено не правильно, и вместо пути выдаёт аброкадабру. С английскими путями пробовал - работает. А с Русскими как сделать?
    Есть альтернатива хкопи?
    Помогите плиз!  

    Всего записей: 62 | Зарегистр. 09-11-2006 | Отправлено: 17:45 13-03-2007
    Ramazan



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Levitant
    Скорее всего, cmd-файл в кодировке 1251. Необходима 866. Или можно в начало файла добавить  

    Цитата:
    chcp 1251

    Кракозябры останутся, но копирование пройдет.

    Всего записей: 359 | Зарегистр. 13-04-2002 | Отправлено: 17:52 13-03-2007
    aka_ShadowZ



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

    Код:
    xcopy "E:\Документы\Итого.задание\Курс._по_1с" H:\1c\ /s /e /h /y

     
    и удали отсюда свое сообщение.

    Всего записей: 563 | Зарегистр. 16-12-2002 | Отправлено: 00:08 14-03-2007 | Исправлено: aka_ShadowZ, 00:09 14-03-2007
    euheny



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Существует ли способ , с помощью которого было бы возможно направлять скрипт по разным путям , в зависимости от compi , на котором он запускается (мой или чужой) .
    Также тот же вариант , только в зависимости от свободной виртуальной памяти.

    Всего записей: 4178 | Зарегистр. 22-11-2006 | Отправлено: 04:40 14-03-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    euheny
    Смотри в сторону "IF"
    Проверить комп, свой он или чужой, можно так:

    Код:
    If not %USERNAME%==Имя пользователя...

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:29 14-03-2007 | Исправлено: Maza Faka, 07:30 14-03-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Maza Faka
    Если на то пошло то проверка не по имени пользователя (%USERNAME%) а по имени компа (%COMPUTERNAME%)

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 09:49 14-03-2007
    Simoid



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Очередная загадка к знатокам:
    В папку попадают файлы, которые были разрезаны методом "RapidKill" (Total Commander). Не знаю как его по другому описать. Но в "Тотале" есть кнопка "Разбить файл" и "Собрать файлы". Вот об этом и пойдет речь.
     
    Для склеивания файлов требуется постоянно запускать TC и проделывать монотонную многозадачную операцию.
     
    Хотелось бы иметь такой батник, который склеивал бы файлы
    xxx.001
    xxx.002
    .
    .
    .
    .
    xxx.nnn
     
    в один xxx.rar.
     
    И проверял контрольную сумму из xxx.CRC. Если сумма правильная - то удалять части. Если нет - удалять склеенный "недодел".
     
    Не судите строго. Возможно заоблачное желание появилось и с ним с помощью губозакаточного станка бороться нужно. Но вдруг кто то поможет мне в этом "нелегком" деле

    Всего записей: 1048 | Зарегистр. 23-07-2005 | Отправлено: 17:22 14-03-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Simoid
    Склеивание просто
    copy /b xxx.001+xxx.002+xxx.003 xxx.rar
     
    Сегодня полностью батничек не напишу - под рукой нет тотала, что бы посмотреть как точно он разбивает файл

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:30 14-03-2007 | Исправлено: KapralBel, 17:37 14-03-2007
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 2
    vu1tur (27-04-2007 11:55): продолжаем в теме «Задачи на bat-файлах 3»


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru