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

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    2Dekabryi
     
    Хмм , да сложновато ,я так понял это вам не хэтмл
     
    Есть неплохая программка Iconoid - удобна тем ,что если ярлыки на рабочем столе разбросало при неизвестных или известных обстоятельствах ,то одним нажатием она возвращает всё на место где росло и ещё её плюс в том ,что можно менять цвет подписи ярлыков (удобночитаемо при частой смене обоев с разными контрастами).Но вот цвет
    сохранять она не может т.е. после перезагрузки цвет опять становится белым.
     
     
    Когда программа удалена с компа то смена параметра теней отбрасываемых  значками
    переключается и сохраняется после перезагрузки.
     
    А когда программа установлена ,то как бы я не выставил параметр теней после перезагрузки он
    всегда включен(отмечен галочкой) и естественно цвет подписи ярлыка остаётся белый.
    Мысля у меня такая ,чтоб выставить исполняемый файл в автозагрузку который бы при старте компа выставлял параметр ListviewShadow в "0".
    На офсайте проги в FAQ  автор пишет ,что она не сохраняет цвет подписей ярлыков.
     
    Пытался ,что-то изобразить
     
    REG ADD"HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced"/v ListviewShadow /t reg_dword /d 0

    Всего записей: 29 | Зарегистр. 29-11-2006 | Отправлено: 21:42 29-01-2008 | Исправлено: 701, 22:26 29-01-2008
    SymA



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

    Код:
    net view /domain >file_log.txt

     
    file_log.txt:
     
     йк╛Ё
     
    -------------------------------------------------------------------------------
    HOME-114              
    HOME21            
    HOMENET1            
    HOMENET2            
    HOMENET3            
    MSHOME                
    WORKGROUP            
     йк Ё╧  ╜ЙюйоЁ╛Ё  ╞аю╛КЁй.
     
    как из file_log.txt взять имена доменов и подставить их для дальнейшего поиска машин в конкретном домене ?
     
    2 PuzzleW
     

    Всего записей: 56 | Зарегистр. 10-12-2007 | Отправлено: 22:02 29-01-2008 | Исправлено: SymA, 22:05 29-01-2008
    PuzzleW

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SymA
    for /? тебе в помощь  
    skip=2 тебе точно понадобиться  
     
    А у тебя кучка доменов и в каждом кучка компьютеров? и тебе нужно список шар по каждому из компьютеров?
    Это однократная или повторяемая задача?

    Всего записей: 185 | Зарегистр. 19-12-2005 | Отправлено: 23:48 29-01-2008
    Grim_Repo



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте, вообщем, задача такова - нужна команда которая экспортирует ветки реестра HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE в C:\Temp.
     
     
    Заранее, огромное спасибо!

    Всего записей: 397 | Зарегистр. 02-05-2006 | Отправлено: 01:32 30-01-2008
    01MDM



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

    Код:
     
    reg export hkcu C:\Temp\hkcu.reg
    reg export hklm C:\Temp\hklm.reg
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 01:38 30-01-2008
    SymA



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

    Цитата:
    А у тебя кучка доменов и в каждом кучка компьютеров? и тебе нужно список шар по каждому из компьютеров?  
     

    В кучке доменов кучки компьютеров и список необходим по каждому . . .
     

    Цитата:
    Это однократная или повторяемая задача?

     
    Повторяемая
     

    Всего записей: 56 | Зарегистр. 10-12-2007 | Отправлено: 03:04 30-01-2008
    Dekabryi



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    701
    И в итоге что у тебя произошло после написания бата ?!
    Ты его поставил в загрузку ?!
    ТО есть тема закрыта или как ?

    Всего записей: 44 | Зарегистр. 29-05-2006 | Отправлено: 05:32 30-01-2008
    Amaroid

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

    Цитата:
    И в итоге что у тебя произошло после написания бата ?!  
    Ты его поставил в загрузку ?!

     
    Нее не ставил ,я даже не уверен ,что правильно написал его.
    Чесно говоря не знаю и как его в загрузку воткнуть (RunOnce) ,его  что нужно в экзэшник перекомпилировать ?  
    Если чё сразу извиняюсь за бред

    Всего записей: 2 | Зарегистр. 28-01-2008 | Отправлено: 05:55 30-01-2008
    Dekabryi



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Amaroid
    Значет так !
    весь текст вставляешь в блокнот и затем сохраняешь в run.bat ( для примера )  
    а дальше хоть как хоть через реестр добавить загрузку оного или просто в автозагрузку положишь, значения не имеет.

    Всего записей: 44 | Зарегистр. 29-05-2006 | Отправлено: 06:26 30-01-2008
    701

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Понял ща буду пробовать .

    Всего записей: 29 | Зарегистр. 29-11-2006 | Отправлено: 06:32 30-01-2008
    GORA2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Встретился с такой конструкцией:

    Код:
    Copy /y %2 "%~dp1" >nul >nul >nul

    Подскажите, что дает (или должно давать) троекратное использование ">nul" в конце этой строки?

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 08:47 30-01-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GORA2
    А ты попробуй на практике чё нить скопировать с различными количествами  nul, когда
    1 нет файлов для копирования
    2 есть файлы
    3 диск переполнен
    4 диск защищён
    5 не существует папок и т д
    потом доложись, самому интересно

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 10:04 30-01-2008
    noiseless

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую вас, уважаемые!
     
    Прошу помощи или хотя бы ткните носом откуда копать
     
    Есть такая программка "Спринтер" компании Такском. Компания ежеквартально выпускает обновления в виде самораспаковывающихся RAR-архивов с именем FC*.exe. Это обновление нужно поместить в папку с программой и запустить. Но таких папок у меня более 10 шт. и ручками очень долго это делать.
    Пока нашел вот такое решение:
    Создал два bat-файла.
     
    Первый (Taxcom_u.bat):
    @echo off
    cls
    echo Запуск обновления: %date% в%time% > update.log
    cd C:\#setup
    set arch=upd.rar
    set exes=upd.exe
    set dats=%random%
    del /Q *.bak
    del /Q %arch%
    ren *.rar *.bak
    if not exist Update\nul md Update
    copy FC*.exe Update\
    ren FC*.exe %exes%
    rar s- %exes%
    cls
    echo Подготовка архива. Ждите...
    echo.
    rem del /Q FC*.exe
    del /Q %exes%
    echo ----------------------------------------------
    echo Архив подготовлен  
    echo ----------------------------------------------
    echo.
    rem pause
    rem Задержка в 5 сек.
    echo Обновление начнется через 5 сек. Ждите...
    ping -n 5 localhost > nul
    cls
    for /F %%i in (dipost.txt) do 02.bat %%i
     
    Второй (02.bat):
     
    @echo off
    echo Идет обновление папки %1. Ждите...
    rar x -o+ -ilogagg.log %arch% %1 >> update.log
     
    В процессе выполнения создается лог-файл update.log, в который попадает инфа о процессе обновления. Иногда в процессе обновления какие-то файлы заняты (бухгалтер запустил программу), и хотелось бы видеть это в лог-файле, т.е. типа "Обновление папки *** не прошло!!!"
     
    PS: в файле dipost.txt находится список директорий для обновления вида:
    C:\Dipost.001
    C:\Dipost.002
    ...
    C:\Dipost.012

    Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 10:14 30-01-2008 | Исправлено: noiseless, 10:17 30-01-2008
    Dekabryi



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    noiseless
    попробуй распаковывать самим winrar с параметром -ilogc:\log\backup.log ( к примеру )
     

    Цитата:
    rar x -o+ -ilogagg.log %arch% %1 >> update.log  
    (поменяй тут)

    Всего записей: 44 | Зарегистр. 29-05-2006 | Отправлено: 10:23 30-01-2008
    701

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dekabryi
     
    Не срабатывает.т.е даже при запуске с рабочего стола переключения не происходит
    значит пока рано его в автозагрузку закидывать.  
    Пробовал 2 варианта записи -
     
    REG ADD"HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced"/v ListviewShadow /t reg_dword /d 0  
    и без кавычек.
     
    Выходит ,что батник параметр не переключает - мож чё не так записано?
     

    Всего записей: 29 | Зарегистр. 29-11-2006 | Отправлено: 10:30 30-01-2008
    LDAP



    Full Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    king_stiven
    Спасибо. Классный вариант.
    Только вот я не пойму назначение

    Код:
     
    set proverka=yes
    if not defined proverka Echo Файлы для копирования не найдены >> log.txt
    set proverka=
     

    Что эта концовка значит?
    Получается задаем переменную, потом проверяем, задана ли она, тут понятно. А вот что значит последняя строка? Что она дает?

    Всего записей: 522 | Зарегистр. 03-08-2005 | Отправлено: 10:39 30-01-2008 | Исправлено: LDAP, 10:54 30-01-2008
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LDAP
    Там ведь у тебя два раза идут циклы с xcopy, поэтому мы эту переменную отменяем дабы избежать ошибок. Если уверен, что больше проверка на эту переменную не понадобится, можешь убрать строчку.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 11:00 30-01-2008
    noiseless

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Dekabryi
    Спасибо! Но хотелось бы всё иметь в одном файлике update.log. Как быть в таком случае?
     
    Добавлено:
    Этот вопрос решил путем такой строчки:
     
    rar x -o+ -ilogupdate.log %arch% %1
     
    Но теперь возникает вопрос про кодировки: батник в кодировке ДОС, а данная строчка добавляет кодировку ВИНДЫ. Как привести всё к одному?

    Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 11:04 30-01-2008 | Исправлено: noiseless, 11:18 30-01-2008
    Dekabryi



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    701
     
    REG ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ListviewShadow /t reg_dword /d 0 /f
    вот так отработало !
     
    Добавлено:
    noiseless
     
    не совсем понял ! один файл логов ты хочешь получить от 2х батов ?
    Если так то что тебе мешает направить все выгрузки в один файл ?  
    Разделяя строками с датой начала записи и именованием кто начинает писать в лог!
    А для удобства добавь еще чтоб логи отправлялись по мылу !

    Всего записей: 44 | Зарегистр. 29-05-2006 | Отправлено: 11:15 30-01-2008
    noiseless

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

    Цитата:
    не совсем понял ! один файл логов ты хочешь получить от 2х батов ?  

    Да, но это вроде как получилось (см. мой предыдущий пост
     

    Цитата:
    Разделяя строками с датой начала записи и именованием кто начинает писать в лог!

    Это в принципе тоже не обязательно, т.к. при ошибках в лог пишется время ошибок, а в начале лога я пишу когда началось обновление.
    Вопрос про кодировку остался только

    Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 12:02 30-01-2008 | Исправлено: noiseless, 12:03 30-01-2008
       

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