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

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



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

    Цитата:
    примеры с delims  
    delims=.,r,a  
    только один элемент можно указывать через запятую

    как тогда выполнить задуманое?

    Всего записей: 286 | Зарегистр. 22-11-2005 | Отправлено: 15:47 28-12-2007
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lutvun
     
    setlocal enabledelayedexpansion
    for %%i in ("A.N.Ostrovskiy.Pozdnyaya.lyubov.part2.rar64.215.245.5_1936_20111.abook.rar") do (
        set "str=%%~nxi"
        set str=!str:rar=Ё!
        for /f "delims=Ё" %%a in ("!str!") do ren %%i %%a.rar
    )

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 16:01 28-12-2007 | Исправлено: king_stiven, 16:49 28-12-2007
    01MDM



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

    Цитата:
    Во время работы выдаёт
    "Непредвиденное появление: &." и вылетает  

     
    Странно, у меня ничего такого не происходит.
    Какой был запрос на поиск?
    Какая версия виндоус.
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 17:27 28-12-2007
    antonclass



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Запрсы были разные.. например USB или USBSTOR .
    Версия виндов - XP pro corp

    Всего записей: 158 | Зарегистр. 15-09-2005 | Отправлено: 18:05 28-12-2007
    Lutvun



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

    Всего записей: 286 | Зарегистр. 22-11-2005 | Отправлено: 20:22 28-12-2007
    antonn2

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    и еще раз обращусь
    Объясните пожалуйста, какой командой копировать файлы по сети? пробую copy и xcopy, на больших файлах консоль зависате и так и висит, можно закрыть крестиком (обычно пока не отработают, сразу не закрыть).
    Сама суть: есть сеть, куча компов. У каждого есть папка c:\papka\. Есть компьютер, на который с остальных компьютеров нужно скопировать содержимое их "c:\papka\". Я по очереди через net use маплю диском папку каждого компа, и командой copy копирую файл на локальный диск ( copy /y "T:\1.txt" "c:\компутер\1.txt" где "компутер" папка для каждого компа по имени ). В принципе это работает, но иногда диск то ли не успевает отмапиться, то ли винда подтупит, но вылетает ошибка и диск дял компа не мапится, и файл с него не попадает в общий компьютер. Уже при каждом отключении-подлючении сделаю паузу по пол минуты (пингую себя) - не помогает. Что скажите насчет этого, можно ли как то копировать сразу copy /y "\\comp1\c$\papka\"  "c:\компутер\1.txt" и чтобы получилось более менее гарантировано?
    Проблема еще похуже
    Есть в сети расшареная папка, имя шары постоянное, компутер-владелец может меняться. На эту шару нужно скопировать все, что сохранилось на главном компьютере (выше).
    Насколько я понял, шару нельзя сделать через net use отдельным диском? а при использовании copy "c:\компутер\1.txt" "\\шара\" если файл более 50Мб гарантировано ничего не скопируется. На шаре появляется файл, в св-вах которого размеры копируемого, но консоль копирования висит по пол часа и весело таращится надписью "не найден сетевой путь". Стоит консоль закрыть - файл исчезает. Файлы по мегабайту можно копировать хоть весь день без проблем. При этом через проводник можно спокойно "вручную" копировать гигабайтные файлы...
    Так вот о чем это я... Посоветуйте какой нибудь способ копирования или утилитку с командной строкой, чтобы гарантировано скопировало файлы по сети (бекапы). И поддерживала домены.

    Всего записей: 96 | Зарегистр. 13-11-2006 | Отправлено: 21:59 28-12-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    antonclass
    Попробовал. Работает (особенно хорошо в hkcc ), но это все равно, что стоит на месте. В общем батник вряд-ли лучшее решение для такой задачи, если только не использовать какую-нибудь утилиту для поиска в  реестре  
    Вот если знать заранее что удалять и что сохранять..
     
    Кстати тот же поиск в j16 по слову "USB" дал результат из 778 пунктов...  

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 22:31 28-12-2007
    antonclass



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

    Всего записей: 158 | Зарегистр. 15-09-2005 | Отправлено: 22:58 28-12-2007
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Lutvun
    Правда батник сам сибя в придачю ко всем файлам переименовывает
     
    А трудно что ли включить в цикл проверку?
     
    if not "%%~nxi"=="имя батника.bat" (

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 00:01 29-12-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    antonclass
     
    Попробуй прямо в консоли, у тебя будет работать?

    Код:
     
    chcp 1251
    reg query hklm /s 2>nul | findstr /i "usb" 2>nul
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 01:04 29-12-2007
    antonclass



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    вообщем, в пробелах была проблема, заработало. НО:
    Создаются 2 папочки - типа
    \RegSaves-29.12.2007-
    \9-37-45
     
    Поиск долгий и в\на экран выдаётся мноооооого строк типа "Не удаётся найти пакетный файл"

    Всего записей: 158 | Зарегистр. 15-09-2005 | Отправлено: 08:48 29-12-2007 | Исправлено: antonclass, 09:53 29-12-2007
    01MDM



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

    Код:
     
    @echo off
    setlocal enabledelayedexpansion
    set cnt=0
    md RegSaves
    set /p toFind="Строка для поиска: "
    for /f "tokens=*" %%i in ('reg query hklm /s 2^>nul ^| find "HKEY"') do (
        reg query "%%i" 2>nul | findstr /i "%toFind%" 2>nul && (
        reg export "%%i" RegSaves\!cnt!.reg
        set /a cnt+=1
        )
    )
     

    Попробуй, разделы (hklm, hkcu, hku, hkcr, hkcc) пока меняй только вручную. У меня по запросу "usb" создал 61 регфайл за ~10 минут, при сканировании только HKLM

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 10:31 29-12-2007
    SymA



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите, как из файла config.txt (сгенерированного командой ipconfig /all) прочесть IP и вернуть его обратно в батник (для дальнейшего копирования файлоа на этот IP)

    Всего записей: 56 | Зарегистр. 10-12-2007 | Отправлено: 17:53 29-12-2007
    king_stiven

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

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 18:09 29-12-2007
    SymA



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

    Цитата:
    Настройка протокола IP для Windows
     
     
     
            Имя компьютера  . . . . . . . . . : syma
     
            Основной DNS-суффикс  . . . . . . :  
     
            Тип узла. . . . . . . . . . . . . : неизвестный
     
            IP-маршрутизация включена . . . . : нет
     
            WINS-прокси включен . . . . . . . : нет
     
     
     
    Подключение по локальной сети - Ethernet адаптер:
     
     
     
            DNS-суффикс этого подключения . . :  
     
            Описание  . . . . . . . . . . . . : NVIDIA nForce Networking Controller
     
            Физический адрес. . . . . . . . . : 00-04-61-FF-FF-DF
     
            Dhcp включен. . . . . . . . . . . : нет
     
            IP-адрес  . . . . . . . . . . . . : 192.168.0.25
     
            Маска подсети . . . . . . . . . . : 255.255.255.0
     
            Основной шлюз . . . . . . . . . . : 192.168.0.100
     
            DNS-серверы . . . . . . . . . . . : 81.25.32.34
     
                                                81.25.32.9
     
     
     
    ADSL - PPP адаптер:
     
     
     
            DNS-суффикс этого подключения . . :  
     
            Описание  . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
     
            Физический адрес. . . . . . . . . : 00-53-45-00-00-00
     
            Dhcp включен. . . . . . . . . . . : нет
     
            IP-адрес  . . . . . . . . . . . . : 91.187.4.242
     
            Маска подсети . . . . . . . . . . : 255.255.255.255
     
            Основной шлюз . . . . . . . . . . : 91.187.4.242
     
            DNS-серверы . . . . . . . . . . . : 81.25.32.34
     
                                                81.25.32.9
     
            NetBIOS через TCP/IP. . . . . . . : отключен
     
     


    Всего записей: 56 | Зарегистр. 10-12-2007 | Отправлено: 18:19 29-12-2007
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    нужно выцепить 192.168.0.25
     
    в этм вопросе я профан, вот пример как выцепить это значение из текста вида
             ...
    IP-адрес  . . . . . . . . . . . . : 192.168.0.25
             ...
    IP-адрес  . . . . . . . . . . . . : 91.187.4.242
             ...
     
    количество точек в строчке`IP-адрес  . . . . . . . . . . . . : 192.168.0.25` имеет значение
     
    chcp 1251
    for /f "tokens=15 delims= " %%a in ('find "IP-адрес" ^< config.txt') do (
        set IP=%%a
        if defined IP goto Further
    )
    :Further
    echo %IP%

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 19:06 29-12-2007 | Исправлено: king_stiven, 19:17 29-12-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SymA
    Только для IP первого по списку интерфейса

    Код:
     
    @echo off
    for /f "tokens=2 delims=:" %%i in ('type config.txt ^| findstr "IP-[*]: \.[0-9]"') do (
        set ip=%%i && goto:next
    )
    :next
    set ip=%ip: =%
    echo %ip%
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 20:19 29-12-2007 | Исправлено: 01MDM, 10:46 30-12-2007
    antonn2

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

    Всего записей: 96 | Зарегистр. 13-11-2006 | Отправлено: 13:43 30-12-2007
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    antonn2
    сходи в шапку, эти вопросы неоднократно поднимались

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 14:26 30-12-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    antonn2
    Кроме forfiles вот еще пара одноименных программ
    http://www.savilltech.com/download/delold.zip
    http://surfnet.dl.sourceforge.net/sourceforge/delold/delold.zip

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 15:30 30-12-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