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

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

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

evle (19-03-2008 19:44): Лимит страниц.
Задачи на bat-файлах 5
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 102 103

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 15:21 11-09-2007 | Исправлено: Elroir, 01:52 26-02-2008
    TimAlex



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

    Цитата:
    TimAlex  
    Скопируй и заново создай и коммандный файл и рег-файл в простом блокноте.  
    gsar нормально все обрабатывает.

     (( в простом блокноте не получится, это экспорт из реестра (там весь куст выгружается, так как настроек Очень много(под конкретную машину))

    Всего записей: 34 | Зарегистр. 05-04-2006 | Отправлено: 11:23 02-10-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Интересно - теперь и у меня все работает и русский текст не теряется.
    Видимо какой-то глюк был  

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 11:26 02-10-2007
    TimAlex



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    странно у меня батник все навсего:
    reg export hku\S-1-5-21-1454471165-1972579041-1417001333-8780  8780.reg
    gsar -s"S-1-5-21-1454471165-1972579041-1417001333-8780" -r".DEFAULT" -o 8780.reg
     
    и все.. от куда там не печатные символы??

    Всего записей: 34 | Зарегистр. 05-04-2006 | Отправлено: 11:32 02-10-2007
    01MDM



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

    Цитата:
     
    в простом блокноте не получится, это экспорт из реестра (там весь куст выгружается, так как настроек Очень много
     

     
    Твоя задача файл экспорта из реестра сохранить в ANSI, а не в юникоде. Тогда gsar будет корректно обрабатывать файл.
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:37 02-10-2007
    TimAlex



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

    Цитата:
    Твоя задача файл экспорта из реестра сохранить в ANSI, а не в юникоде. Тогда gsar будет корректно обрабатывать файл.

    это что мне надо  
    реестр-> Unicod ->ANSI(обработка)->Unicod -> реестр.. мдя.. нашел себе головную боль

    Всего записей: 34 | Зарегистр. 05-04-2006 | Отправлено: 11:43 02-10-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    У меня gsar v1.11 и он весит вдвое больше 32.6 K

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:44 02-10-2007
    TimAlex



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

    Цитата:
    У меня gsar v1.11 и он весит вдвое больше 32.6 K

    скачал 1.12  тоже самое (( ладно буду конвертить (

    Всего записей: 34 | Зарегистр. 05-04-2006 | Отправлено: 12:00 02-10-2007
    Maza Faka



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

    Цитата:
    это что мне надо  
    реестр-> Unicod ->ANSI(обработка)->Unicod

    Ну зачем так усложнять. Можно сразу экспортровать в "ANSI"- кодировке:
    если вручную, то сохранять как "Файлы реестра Win9x/NT4",
    если из ком.строки, то так:

    Код:
     
    Start /wait regedit /ea "MyRegFile.reg" "HKEY_USERS\.DEFAULT"
     


    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:23 02-10-2007
    TimAlex



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    О чудо... все работет ))  
    привожу свои грабли.. может кому и поможет )
     
     
    Start /wait regedit /ea "1325.reg" "HKEY_USERS\S-1-5-21-1454471165-1972579041-1417001333-1325"
    Start /wait reg delete HKU\.DEFAULT /f  
    gsar -s"S-1-5-21-1454471165-1972579041-1417001333-1325" -r".DEFAULT" -o 1325.reg
    Start /wait regedit /s "1325.reg"  
     
    Всем Спасибо!!!

    Всего записей: 34 | Зарегистр. 05-04-2006 | Отправлено: 13:47 02-10-2007
    Vadzim2003

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть папочка C:\temp
    В ней много log-файлов. Нужно оставить самый "молодой" по времени. Остальные зазиповать. Может у кого-то есть готовое решение?
    Как найти по дате самый новый файл? Если его найти и имя загнать в переменную, то дальше все понятно.

    Всего записей: 5 | Зарегистр. 02-10-2007 | Отправлено: 15:37 02-10-2007
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Vadzim2003
    for /F %%a in ('dir /B /OD') do @set file=%%a

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 15:52 02-10-2007
    Vadzim2003

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Thanks!!!vu1tur





    спасибы — в ПМ!

    Всего записей: 5 | Зарегистр. 02-10-2007 | Отправлено: 16:51 02-10-2007 | Исправлено: vu1tur, 17:28 02-10-2007
    NIKZZZZ



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

    Цитата:
    Start /wait regedit /ea "1325.reg" "HKEY_USERS\S-1-5-21-1454471165-1972579041-1417001333-1325"
    Start /wait reg delete  /f  
    gsar -s"S-1-5-21-1454471165-1972579041-1417001333-1325" -r".DEFAULT" -o 1325.reg
    Start /wait regedit /s "1325.reg"  

    А зачем так сложно?

    Код:
    Start /wait reg delete HKU\.DEFAULT /f  
    Start /wait reg copy "HKU\S-1-5-21-1454471165-1972579041-1417001333-8780" "HKU\.DEFAULT" /s /f

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 17:11 02-10-2007
    Smitis



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    А зачем у вас везде start /wait для запуска консольного reg.exe?
     
    И ещё, для справки: для экспорта реестра в ansi формат при помощи reg.exe нужно использовать ключ /nt4

    Код:
     
    reg export HKU\S-1-5-21-1454471165-1972579041-1417001333-1325 12345.reg /nt4
     


    ----------
    Разум когда-нибудь победит

    Всего записей: 3215 | Зарегистр. 09-02-2003 | Отправлено: 20:34 02-10-2007 | Исправлено: Smitis, 20:38 02-10-2007
    NIKZZZZ



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

    Цитата:
    А зачем у вас везде start /wait для запуска консольного reg.exe?

    Он был в оригинальном батнике, в общем-то не нужен.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 21:44 02-10-2007
    TimAlex



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

    Цитата:
    А зачем так сложно?  
     
    Код:Start /wait reg delete HKU\.DEFAULT /f    
    Start /wait reg copy "HKU\S-1-5-21-1454471165-1972579041-1417001333-8780" "HKU\.DEFAULT" /s /f

     
     Хм.. не подумал... ведь действительно так проще..

    Всего записей: 34 | Зарегистр. 05-04-2006 | Отправлено: 05:28 03-10-2007
    GORA2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, можно ли с помощью gsar заменить стринг на значение переменной в бат файле? Не на имя переменной, а именно на ее значение.
    Делаю так:
    Код:
    gsar -is%%S -r%var% config.txt temp_config.txt
    (где %%S - заменяемый стринг, а %var% - имя переменной, содержащей нужный текст замены), но заменяется на имя переменной, а не на ее значение.

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 10:43 03-10-2007 | Исправлено: GORA2, 10:45 03-10-2007
    Elroir



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

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 11:18 03-10-2007 | Исправлено: Elroir, 14:44 03-10-2007
    GORA2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    C переменной вроде сам разобрался, но возникли новые вопросы:
    1 Если переменная содержит путь к папке, а в нем могут быть разные "специфические" символы, то как быть?
    2 Может ли gsar находить стринг (часть строки), а заменять всю строку на другую?
    Вот кусок тестового батника
    Код:
    @echo off
    set var=%~dp0
    set var=%var:~0,2%:%var:~2%
    set file=config.txt
    del temp_config.txt>nul
    echo %var%
    echo %file%
     
    gsar -is%%%%S -r%var% %file% temp_config.txt
     
    pause>nul
    exit
     


    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 11:57 03-10-2007
    Elroir



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

    Цитата:
    1 Если переменная содержит путь к папке, а в нем могут быть разные "специфические" символы, то как быть?

    Можно заменить эти символы на их  ASCII коды ( для gsar-а это двоеточие, трехзначный десятичный код ASCII и еще раз двоеточие), например -
    название директории "A & B" - присутствует спец. символ "&".
    делаем так:
    set "var=A & B"
    set "var=%var:&=:038:%"
    теперь в переменной var будет "А :038: B".

    Цитата:
    2 Может ли gsar находить стринг (часть строки), а заменять всю строку на другую?

    Нет.

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:31 03-10-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 101 102 103

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 4
    evle (19-03-2008 19:44): Лимит страниц.
    Задачи на bat-файлах 5


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru