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

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

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

vu1tur (09-01-2011 11:53): лимит страниц, продолжение — http://forum.ru-board.com/topic.cgi?forum=62&topic=22143  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
 
Для перекодирования кирилицы 866<—>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 17:45 04-09-2010 | Исправлено: Accessor, 18:04 28-09-2010
    K0NCTANT1N

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    slech, как вариант, есть и другой пакетный пример, но он более нагроможден

    Всего записей: 19 | Зарегистр. 23-04-2008 | Отправлено: 12:41 10-12-2010
    slech



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

    Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 13:26 10-12-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    есть VBS to EXE конвертер.

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:35 10-12-2010
    cluster

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    slech
    Огромное спасибо! С PCInfo не стал долго запариваться - первый вариант устраивает.

    Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 15:12 10-12-2010
    mouser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    не буду объяснять суть, можно ли как-то пользоватся что-то на подобии INF файла?
     
    брать какую-то запись и присваивать ей переменную и далее пользоватся этой переменной ???  
     
    INF

    Код:
     
    [SERV]
    First=12
    second=9
     

     
    BAT

    Код:
     
    REM тут как-то вычитать параметр second и присвоить к переменной PATH
    echo %PATH%
     

     
    получим на выходе "9"

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 15:42 10-12-2010
    K0NCTANT1N

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Изменил конструкцию на:
    Код:
    SET FilesYes=No
    FOR %%F IN (G:\BOX\ISH\*.*) DO SET FilesYes=Yes
    IF "%FilesYes%"=="Yes" FOR /F %%A IN ('FORFILES /P G:\BOX\ISH\ /M *.*') DO (FORFILES /P G:\BOX\ISH\ /M %%~A /C "CMD /C IF @FSIZE LEQ 5000000 SET FilesName=%%~sA & TOMAIL -fG:\BOX\ISH\%FilesName% -hUMLI -nTEST -d -t6")

    Но теперь к последнему файлу. что находит обращение идет два раза, первый раз отправляется второй раз выдается ошибка о том что файл не найден (ключ -d программы TOMAIL после отправки удаляет файл) и еще теперь игнорируется условие по размеру.

    Всего записей: 19 | Зарегистр. 23-04-2008 | Отправлено: 17:09 10-12-2010
    res2001



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

    Код:
    @echo off
    for /f "tokens=2 delims=" %%a in ('type file.inf ^| findstr "second" ') do set sec=%%a
    set path=%path%;%sec%
    echo %path%
     

     
    Добавлено:
    K0NCTANT1N
    А че так сложно с размером у тебя? Зачем вообще огород городить с forfiles?
    Размер берется так: %%~zA

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 17:11 10-12-2010
    Rush

    Уже за тридцать...
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    slech
    Можно еще таким образом получить вчерашнюю дату, с использованием jscript, но без всяких временных файлов:

    Код:
    @set @x=0/*
    @echo off
    for /f "tokens=1-3 delims=. " %%a in ('cscript /nologo /e:javascript %0') do (
    set "yesterday=%%a"
    set "month=%%b"
    set "year=%%c"
    )
    echo %yesterday%
    echo %month%
    echo %year%
    pause>nul
    goto:eof*/
    var d=new Date();
    d.setDate(d.getDate()-1);
    WScript.StdOut.Write(d.getVarDate());

    Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 17:30 10-12-2010
    K0NCTANT1N

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ой, res2001, спасибо за напоминание, самому в /? надо иногда заглядывать

    Всего записей: 19 | Зарегистр. 23-04-2008 | Отправлено: 17:48 10-12-2010
    Free_Soft



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

    Код:
    for /f "tokens=2 delims==" %%a in ('type file.inf ^| findstr "second" ') do set sec=%%a

    Потерялось одно равно.
    Кстати, а как можно наоборот записывать значения в ini? В смысле если строка уже существует, просто надо поменять значение параметра

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 20:17 10-12-2010
    SAOPP

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Ребят, подскажите утилитку, которая сможет сворачивать из батника открытое окно с определённым заголовком или частью такового в панель задач. Заранее благодарен.

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 01:05 11-12-2010 | Исправлено: SAOPP, 01:18 11-12-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SAOPP
    например, CMDOW из шапки>полезные утилиты

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 08:41 11-12-2010
    Free_Soft



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

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 11:22 11-12-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Free_Soft а CMDOW и чужие окна неплохо сворачивает
     

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 12:14 11-12-2010
    SAOPP

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Free_Soft
    Да, но там привязка к окну не может быть постоянной, т.е. там handles только, который меняется, т.е. после перезапуска приложения уже будет другое значение. А мне бы что бы кусок из заголовка уже служил поводом свернуть окно, что не искал ничего не попадалось...
     
    Добавлено:

    Цитата:
    или тебе окно нужно свернуть сторонней программы, а не окна консоли?

    Именно.
     

    Цитата:
    а CMDOW и чужие окна неплохо сворачивает

    Сворачивает... только не по заголовку.

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 13:06 11-12-2010
    01MDM



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

    Код:
     
    nircmdc win min title "Window Title"
     

    В справке (chm) дополнительные возможности по определению заголовка окна.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 14:29 11-12-2010
    wolf0425



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

    Цитата:
    Сворачивает... только не по заголовку.  
    по заголовку тоже замечательно сворачивает, правда только по полному.  
    но его несложно узнать той же cmdow.
    Это на случай если потребуется прятать чужие окна, а не просто минимизировать.
     

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 15:08 11-12-2010 | Исправлено: wolf0425, 15:09 11-12-2010
    sisss



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

    Цитата:
     
    echo %date% %time% > ip.txt
    echo. >> ip.txt
    ipconfig /all >> ip.txt
     

     
    В принципе все делает правильно:
     

    Цитата:
    11.12.2010 16:09:46,63  
     
     
     
    Настройка протокола IP для Windows
     
     
     
            Имя компьютера  . . . . . . . . . : microsof-66bedf
     
            Основной DNS-суффикс  . . . . . . :  
     
            Тип узла. . . . . . . . . . . . . : неизвестный
     
            IP-маршрутизация включена . . . . : нет
     
            WINS-прокси включен . . . . . . . : нет
     
     
     
    Подключение по локальной сети - Ethernet адаптер:
     
     
     
            DNS-суффикс этого подключения . . :  
     
            Описание  . . . . . . . . . . . . : Marvell Yukon 88E8053 PCI-E Gigabit Ethernet Controller
     
            Физический адрес. . . . . . . . . : 00-14-85-DF-2A-EB
     
            Dhcp включен. . . . . . . . . . . : да
     
            Автонастройка включена  . . . . . : да
     
            IP-адрес  . . . . . . . . . . . . : 10.45.1.185
     
            Маска подсети . . . . . . . . . . : 255.255.255.0
     
            Основной шлюз . . . . . . . . . . : 10.45.1.1
     
            DHCP-сервер . . . . . . . . . . . : 83.102.183.164
     
            DNS-серверы . . . . . . . . . . . : 85.21.192.3
     
                                                213.234.192.8
     
            Аренда получена . . . . . . . . . : 11 декабря 2010 г. 15:35:48
     
            Аренда истекает . . . . . . . . . : 18 декабря 2010 г. 15:35:48
     
     
     
    VirtualBox Host-Only Network - Ethernet адаптер:
     
     
     
            DNS-суффикс этого подключения . . :  
     
            Описание  . . . . . . . . . . . . : VirtualBox Host-Only Ethernet Adapter
     
            Физический адрес. . . . . . . . . : 08-00-27-00-00-9F
     
            Dhcp включен. . . . . . . . . . . : нет
     
            IP-адрес  . . . . . . . . . . . . : 192.168.56.1
     
            Маска подсети . . . . . . . . . . : 255.255.255.0
     
            Основной шлюз . . . . . . . . . . :  
     
     
     
    beeline - PPP адаптер:
     
     
     
            DNS-суффикс этого подключения . . :  
     
            Описание  . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
     
            Физический адрес. . . . . . . . . : 00-53-45-00-00-00
     
            Dhcp включен. . . . . . . . . . . : нет
     
            IP-адрес  . . . . . . . . . . . . : 93.81.8.1
     
            Маска подсети . . . . . . . . . . : 255.255.255.255
     
            Основной шлюз . . . . . . . . . . : 93.81.8.1
     
            DNS-серверы . . . . . . . . . . . : 85.21.192.5
     
                                                213.234.192.7

     
    Только мне бы из всего этого хотелось вот так:
     

    Цитата:
    11.12.2010 16:09:46,63  
     
    IP-адрес: 93.81.8.1

     
    Добавлено:
    И сразу ещё вопрос:
    Есть очень много строк текста , по средствам бат файла их надо занести в фаил %random%.reg, этот текст будет в самом батнике.

    Всего записей: 29 | Зарегистр. 10-09-2010 | Отправлено: 16:27 11-12-2010
    Free_Soft



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

    Цитата:
    Есть очень много строк текста , по средствам бат файла их надо занести в фаил %random%.reg, этот текст будет в самом батнике.


    Код:
    set Name=%random%
    1>>%Name%.reg echo. Text1
    1>>%Name%.reg echo. Text2
    1>>%Name%.reg echo. Text3
    ...

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 17:46 11-12-2010
    sisss



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    в Файле около 100 строк мне к каждой так приписывать или есть более легкий способ?

    Всего записей: 29 | Зарегистр. 10-09-2010 | Отправлено: 18:11 11-12-2010
       

    Страницы: 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-файлах 9
    vu1tur (09-01-2011 11:53): лимит страниц, продолжение — http://forum.ru-board.com/topic.cgi?forum=62&topic=22143


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru