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

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

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

vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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-файлах 6
(часть 1, часть 2, часть 3, часть 4, часть 5)
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.

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

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





    http://forum.ru-board.com/topic.cgi?forum=62&topic=17154

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 23:07 04-11-2008 | Исправлено: vu1tur, 11:38 26-05-2009
    Nagual



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

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 21:01 24-01-2009
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nagual
    Он просил на русском
     
    ponand
    Если успею - выложу перевод сегодня ближе к ночи (по Москве). Нет - значит завтра.

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:15 24-01-2009
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Интересный глюк (???) команды Reg.exe ADD
    нужно добавить значение ключа
     

    Код:
    "1111" "222"
     
     

    Код:
    REG ADD HKLM\Software\MyCo /v Path /t REG_SZ /d """1111"" ""222"""

     
    Ошибка: Слишком много параметров в командной строке.
     

    Код:
    REG ADD HKLM\Software\MyCo /v Path /t REG_SZ /d """"1111""" """222"""

     
    Работает, но почему?
     
     
     
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 02:07 25-01-2009 | Исправлено: NIKZZZZ, 02:08 25-01-2009
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    утилита парсит кавычки
    можно также экранировать так:
    "\"1111\" \"222\"

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 04:27 25-01-2009
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ponand
     
    Использование: CNic [название NIC/n:NIC номер] [-c/-d/-s] [-e] [-v] или
                             CNic -l  
     Где: название NIC - находится  в "Network and Dial-up Connections"  
           NIC номер - в списке, получаемом при использовании опции -l  
     
    Опции: c - подключить  
             d - отключить  
             s - получить статус
             e - откл/подключить все интерфейсы, кроме указанного  
             v - подробная информация  
             l - пронумеровать сетевые интерфейсы  
     
    Примеры:  
        CNic -l  
        CNic "Local Area Connection" -d  
        CNic "Local Area Connection" -c -e -v  
        CNic n:2 -c  
     
    Возвращаемые значения: 0 = отключено, с опциями -s и -d  
                   1 = подключено, с опциями -s и -c  
                   2 = media отключена, с опцией -s  
                   3 = другой статус (соединяется и т.д.), с опцией -s  
                   4 = использована опция -l  
                   5 = ошибка
                   6 = использована опция -e и ничего невозможно сделать (только один сет. интерфейс),  
                       если больше одного интерфейса, 0 = все операции завершены успешно,  
                       5 = если какая-либо операция завершилась с ошибкой  


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 12:13 25-01-2009
    NIKZZZZ



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

    Цитата:
    утилита парсит кавычки  

    Так это понятно, но по всем канонам , если в строке , заключенной в кавычки необходимо вставить кавычки их необходимо удвоить , а не утроить!
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 13:17 25-01-2009
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Столкнулся с этой проблемой при написании конвертера reg=>bat, если кому интересен, ссылка.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 16:03 25-01-2009
    ponand

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    Спасибо за перевод!
    Один вопрос :
    я ввел команду Cnic -l и получил вот это  
    c:\WINDOWS.1\system32>Cnic -l
     
    =============================================================
    === NIC Number === NIC name === NIC description (device name)
    =============================================================
    0 - =============================================================
    1 - =============================================================
    2 -
    так и должно быть?
    И где посмотреть названия подключений с номерами?
    Простым переборам я конечно нашел свое просто хочу посмотреть меняется ли номер после соединения к другому USB или перезагрузки

    Всего записей: 56 | Зарегистр. 14-07-2008 | Отправлено: 16:18 25-01-2009
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    могу сказать, что при написании скриптов wsh используется тот же финт,
    т.е. для отображения двойной кавычки ее надо утроить, а не удвоить
    удвоение же относится к знаку процента
    думаю, что грамотно объяснить это смогут программеры

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 16:34 25-01-2009
    igor_andreev

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

    Цитата:
    так и должно быть?  
    И где посмотреть названия подключений с номерами?  

    Переименуй названия подключений латинскими буквами. Например вместо "Подключение по локальной сети" сделай "LAN", вместо "Беспроводное соединение" сделай "WiFi"

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 16:45 25-01-2009
    ponand

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

    Всего записей: 56 | Зарегистр. 14-07-2008 | Отправлено: 18:19 25-01-2009
    2105Andrey

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

    Всего записей: 2 | Зарегистр. 21-01-2009 | Отправлено: 19:17 25-01-2009
    Gizmentiy

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго дня!
    Существует вот такая задача...
    необходимо найти файл который может быть расположен на любом диске компа, имя файла известно, далее путь поместить в переменную и произвести манипуляции с этим файлом.
    Каким образом осуществить поиск?
    заранее спасибо!

    Всего записей: 4 | Зарегистр. 16-01-2009 | Отправлено: 12:56 26-01-2009
    Elroir



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

    Код:
     
    @echo off
    setlocal
    for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
    for /f "tokens=*" %%a in ('dir /b /s /a-d %%i:\FileName.ext 2^>nul') do (
    set "foundFile=%%a" & goto found
    ))
    echo File not found
    goto :EOF
    :found
    echo File found - %foundFile%
     


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:14 26-01-2009
    Gizmentiy

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

    Всего записей: 4 | Зарегистр. 16-01-2009 | Отправлено: 15:01 26-01-2009
    FaUsT333

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребятки, я уже конечно спрашивал, но все таки есть ли у кого утилита для выполнения SQL запроса из командной строки? Даже серии запросов, для dbf файла.

    Всего записей: 76 | Зарегистр. 17-04-2008 | Отправлено: 15:09 26-01-2009
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    FaUsT333
    cdbflite

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

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 15:12 26-01-2009 | Исправлено: vu1tur, 15:14 26-01-2009
    DESperado

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, подскажите.... Почему этот код не работает

    Код:
     
    set path_xp = c:\temp\  
     
    for /f "usebackq" %%a  IN (`dir %path_xp% /b`) do (@echo %%a >>list.txt)
     

    а этот работает

    Код:
     
    set path_xp= c:\temp\
    for /f "usebackq" %%a  IN (`dir %path_xp% /b`) do (@echo %%a >>list.txt)
     

    Неужели такие строгие правила синтаксиса?
     
     

    Всего записей: 110 | Зарегистр. 01-03-2004 | Отправлено: 09:35 27-01-2009
    Elroir



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

    Цитата:
    Неужели такие строгие правила синтаксиса?  

    Не настолько строгие. У меня одинаково работают оба примера.
    Может быть у тебя на пустой строчке стоит какой-нибудь символ невидимый...

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 10:58 27-01-2009
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DESperado
    данный код прекрасно покажет присвоение переменной
    пробел после path_xp в первой строке приведёт к неверному присвоению имени переменной, то есть переменная будет выглядеть как %path_xp %
    отсюда следует, что имя переменной присваивается командой set между пробелом после команды и первым знаком =, что хорошо видно на примере
    Код:
    @set path_xp = c:\temp\
    if defined path_xp (echo the path_xp="%path_xp%") else echo var path_xp not defined, the path_xp="%path_xp %"

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 11:43 27-01-2009
       

    Страницы: 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-файлах 6
    vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru