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

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здрасте всем.
    Нужен батник, для определения моего внешнего IP. Нашёл такой вариант:

    Код:
    For /F "Tokens=2 Delims=:" %%i In ('IPConfig^|Find "IPv4"') Do Set IP=%%~i
    Echo %IP%

    Но он выводит не то что мне нужно.
    Вот результат запуска такого батника:
    Подробнее...
    Выводит он это - 169.xxx.xx.xxx, а мне нужно чтобы выводилось 109.xxx.xxx.xxx. Как это сделать?

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



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    169 это твой локальный ип, а 109 это внешний шлюза, от твоего компа до шлюза как до луны. чтоб определялся адрес шлюза нужно определять по определялся находящейся на внешнем сервере
    http://ipid.shat.net/iponly/
    скачай эту хтмл страницу вбс скриптом из нее получишь свой внешний ип
     
    пример скрипта

    Цитата:
     
    Title="Download"
    result = InputBox("Введите ссылку", Title, "http://")
    If result="" Then
    MsgBox "Отмена"
    Else
    name = Right(result, Len(result) - InstrRev(result, "/"))
    IF name = "" Then name="noname.html"
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
    oXMLHTTP.Open "GET", result, 0
    oXMLHTTP.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
    oXMLHTTP.Send
    Set oADOStream = CreateObject("ADODB.Stream")
    oADOStream.Mode = 3 'разрешение на чтение и запись
    oADOStream.Type = 1 'тип данных - Binary
    oADOStream.Open
    oADOStream.Write oXMLHTTP.responseBody
    oADOStream.SaveToFile name, 2
    MsgBox "Файл " & result & " сохранён."
    End If
     

    или можно wget-ом или cUrl-ом это сделать
    Добавлено:
    Free_Soft
     
    вообще не работают или эту кодировку не понимают?

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 18:25 10-09-2010 | Исправлено: bomzzz, 18:32 10-09-2010
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    Кодировку скорее всего. да еще под Win 7 DISPLAY.COM не запускается...

    Всего записей: 1515 | Зарегистр. 19-04-2010 | Отправлено: 18:52 10-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    у меня все работает. дос кодировка из форума не скопируется
       
     
    ECHO OFF
    COLOR 9F
    CLS
    display.com
    rem doskey
    set /p my=Enter your word:
    echo %my%
    DIR /A:D | FIND "Ї Ї®Є"
    FOR /F %%I IN ('DIR /A:D ^| FIND "Ї Ї®Є"') do echo %%I
    pause
     
    Добавлено:
    Free_Soft
    win 7 известное г. под ним ничего не запускается

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 18:52 10-09-2010
    travian

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bomzzz
    А как бы всё это автоматизировать, чтобы можно было определить IP, занести его в переменную, а затем подставить эту переменную, пусть хоть в "echo"? И всё это вообще без каких-либо окон и уж тем более вмешательства пользователя.

    Всего записей: 19 | Зарегистр. 15-04-2010 | Отправлено: 19:18 10-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    скрипт перепиши. это пример скрипта, как скачать файл из инета.
    или wget bспользуй
     
    Добавлено:
     
    result = "http://ipid.shat.net/iponly/"
    name="noname.html"
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
    oXMLHTTP.Open "GET", result, 0
    oXMLHTTP.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
    oXMLHTTP.Send
    Set oADOStream = CreateObject("ADODB.Stream")
    oADOStream.Mode = 3 'разрешение на чтение и запись
    oADOStream.Type = 1 'тип данных - Binary
    oADOStream.Open
    oADOStream.Write oXMLHTTP.responseBody
    oADOStream.SaveToFile name, 2
     
    вот так попробуй. уже давно ниче на вбс не делал в упор ничего не помню

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 19:20 10-09-2010
    travian

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Изменил сообщение.
    Извиняюсь, не заметил "добавлено". Сейчас посмотрю

    Всего записей: 19 | Зарегистр. 15-04-2010 | Отправлено: 19:25 10-09-2010 | Исправлено: travian, 19:26 10-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    в теме про вбс скрипты спроси
     
    Добавлено:
    если бы ты начал делать скрипт вбс, ты бы начал искать как скачать файл пример в инете, вот я тебе его сразу нашел, а писать самому надо
     
    Добавлено:
    http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=1491&start=1740#lt
     
    Добавлено:
    travian
    у меня работает. не очень быстро. поищи быстрее сервер
     
    http://bomz-co.narod.ru/MYIP.exe
     
    Добавлено:
    надо вбс скрипт сделать, который использует несколько серверов, на тот случай если какой то сдохнет. и сам вырезает нужный ип адрес. на скрипте это проще сделать
     
    Добавлено:
    ECHO OFF
    COLOR 9F
    CLS
    CALL MYIP.EXE
    FOR /F " DELIMS=<" %%I IN ('FINDSTR /B [0-9] MYIP.TXT') DO ECHO %%I
    DEL MYIP.TXT
    pause

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 19:25 10-09-2010 | Исправлено: bomzzz, 19:54 10-09-2010
    travian

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

    Всего записей: 19 | Зарегистр. 15-04-2010 | Отправлено: 20:04 10-09-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 20:07 10-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Free_Soft
    clip переделал - он теперь не делает ошибку если поток превышает размер заданного буфера, а копирует до размера - 1 байт

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 22:27 10-09-2010
    Free_Soft



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

    Всего записей: 1515 | Зарегистр. 19-04-2010 | Отправлено: 23:24 10-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    http://bomz-co.narod.ru/ENHANCER.zip
    сюда запихал вроде нет ошибок

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 23:26 10-09-2010
    1nasty1



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, как можно реализовать такую непростую задачу.
    Пользователь запускает ярлык. По сети стартует Vmware машина с запущенным VNC (port :5900) После этого стартует RealVNC на том же порту (:5900). порты vmware предварительно настроены и известны. После закрытия окна RealVNC vmware машина тоже закрывается.

    Всего записей: 718 | Зарегистр. 11-03-2005 | Отправлено: 01:28 11-09-2010 | Исправлено: 1nasty1, 01:33 11-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    пользователь безрукий что ли?

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 01:32 11-09-2010
    1nasty1



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

    Цитата:
    пользователь безрукий что ли?

    ) как правило. Они работают с несколькими машинами. 4 машины на 5 пользователей. Держать запущенными все одновременно (20 шт.) невозможно. Допускаю, что реализовать на bat файлах такое также невозможно.
     
    Добавлено:
    start.bat  

    Цитата:
    C:  
    cd "\Program Files\VMWare\VMware Server"
    call vmware-cmd "C:\Virtua\User1\program1.vmx" start
    cd \  

     
    stop.bat

    Цитата:
    C:  
    cd "\Program Files\VMWare\VMware Server"
    call vmware-cmd "C:\Virtua\User1\program1.vmx" stop
    cd \  

     
    для запуска по сети можно использовать
    Цитата:
    %~dp0

     
    А вот как запускать через .bat RealVNC (можно любой VNC - не принципиально) на определенном порту и приурочить закрытие Vmvare машины закрытию окна VNC я не знаю.
     

    Всего записей: 718 | Зарегистр. 11-03-2005 | Отправлено: 01:40 11-09-2010 | Исправлено: 1nasty1, 02:03 11-09-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 02:21 11-09-2010
    wolf0425



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

    Цитата:
    Нужен батник, для определения моего внешнего IP.
    например так:
    Код:
    For /f %%a in ('wget -q -O - http://www.netikus.net/show_ip.html ') do set "ip=%%a"

    wget в шапке или в гугле

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 02:30 11-09-2010 | Исправлено: wolf0425, 02:31 11-09-2010
    1nasty1



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    bomzzz
    Поддержка командной строки точно есть в uVNC http://www.uvnc.com/install/cmdline.html

    Всего записей: 718 | Зарегистр. 11-03-2005 | Отправлено: 03:17 11-09-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 03:31 11-09-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.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru