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

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

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

vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 104 105 106 107 108 109 110 111 112 113 114 115 116 117

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:37 26-05-2009 | Исправлено: TechnicsKuzya, 13:53 27-12-2009
    olemel

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите пожалуйста настроить все сетевые соединения на компьютере, естественно cmd/bat - файлом. Что в это входит:  
    настройка протокола TCP/IP сетевой карты - я уже реализовал  
     
    @echo off
    netsh interface ip set address name="Подключение по локальной сети" static 192.168.1.2 255.255.255.0 192.168.1.1 0
    netsh interface ip set dns name="Подключение по локальной сети" static 82.209.213.60 primary
    netsh interface ip add dns name="Подключение по локальной сети" 193.232.248.2 2
    exit  
     
    Осталось только создать 2 диалап соединения и 2 ADSL соединения, нашел способ копирования Rasphone.pbk (телефонной книги). Ну это все не то, можно ли создать эти все соединения cmd/bat - файлом?

    Всего записей: 18 | Зарегистр. 17-10-2009 | Отправлено: 14:13 18-10-2009
    Iacoyn



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

    Всего записей: 2421 | Зарегистр. 07-05-2002 | Отправлено: 14:16 19-10-2009
    olemel

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

    Цитата:
    rasdial вам в помощь

    мне нужно создать соединения, а не запускать уже готовое соединение, запускать будут пользователи.

    Всего записей: 18 | Зарегистр. 17-10-2009 | Отправлено: 18:13 19-10-2009
    slay1212

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можно в бат файле  редактировать к.-нибудь  файл параметров. Как вывести параметры понятно
    for /f "eol=# delims== tokens=1,2" %%i in (%SETTINGSFILE%) do (
    set %%i=%%j
    )
     в как их редактировать в диалоге? В бате это возможно?

    Всего записей: 336 | Зарегистр. 28-05-2008 | Отправлено: 11:39 21-10-2009
    Karrakurt

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

    Код:
    @ECHO off
     
    REM SET Tst=0
    SET Chk=1 2 3 4 5
     
    FOR %%a IN (%Chk%) DO (
        SET Tst=%%a
        ECHO Tst = %Tst%
        )

    В итоге, если не убирать REM выдает все пятерки, если убрать - все нули.
     
    В чем трабл то?

    Всего записей: 17 | Зарегистр. 29-07-2008 | Отправлено: 11:52 21-10-2009 | Исправлено: Karrakurt, 11:55 21-10-2009
    Elroir



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

    Код:
     
    @ECHO off  
    setlocal enabledelayedexpansion  
    SET Chk=1 2 3 4 5  
     
    FOR %%a IN (%Chk%) DO (  
        SET Tst=%%a  
        ECHO Tst = !Tst!  
        )  
     

     
    И почитай вот это - http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=633&limit=1

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 13:03 21-10-2009
    Joo1z



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

    Код:
    @ECHO off
    setlocal enabledelayedexpansion
    SET Tst=0
    SET Chk=1 2 3 4 5
     
    FOR %%a IN (%Chk%) DO SET Tst=%%a &  ECHO Tst = !Tst!

    Всего записей: 123 | Зарегистр. 17-02-2009 | Отправлено: 14:05 21-10-2009 | Исправлено: Joo1z, 14:06 21-10-2009
    mugil_cephalus

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

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

    посмотри (может что найдешь)  http://www.robvanderwoude.com/index.html

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 14:12 21-10-2009
    Joo1z



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    slay1212
    Все возможно. Временно создаешь файл куда скидываешь нужные настройки введенные с консоли, а потом переименовываешь его в исходный. А обработку делаешь из IF и SET.
     

    Код:
    IF %param1% NOT EQL "Желаемое значение" (
    ECHO Введите желаемое значение
    SET /p %param1%=
    )

    Всего записей: 123 | Зарегистр. 17-02-2009 | Отправлено: 14:13 21-10-2009
    slay1212

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Joo1z
     Спасибо. Только нюанс - если 20 параметров надо будет 20 раз ентер долбить ( ну если в цикле вывод делать)? Мож, проще notepad.exe setting.ini ?

    Всего записей: 336 | Зарегистр. 28-05-2008 | Отправлено: 16:38 21-10-2009
    Joo1z



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    slay1212
     
    Если бы была конкретика, можно было бы и оптимизировать. Если все 20 параметров типа ENABLED|DISABLED или ON|OFF - это одно, если каждый параметр имеет свои характеристики - это другое.

    Всего записей: 123 | Зарегистр. 17-02-2009 | Отправлено: 16:54 21-10-2009
    slay1212

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Joo1z
     Не я про то что если в цикл поставить set /p %param%= "Введите параметр", то на каждой переменной будет ожидание ее ввода ? Те править их можно только последовательно, нельзя изменить например только 3 и 5?

    Всего записей: 336 | Зарегистр. 28-05-2008 | Отправлено: 17:13 21-10-2009
    Karrakurt

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    2 Elroir и Joo1z
    Вот благодарствую, а то я все мозги себе запарил, что да как =)
    Так то я знал что есть подобные тонкости, но как использовать понятия не имел...

    Всего записей: 17 | Зарегистр. 29-07-2008 | Отправлено: 21:41 21-10-2009
    alexcoolmagic

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите, как использовать символ % в значении переменной?
     
    например, s присвоить "%SS%"
     
    так не получается:
     
    set s="^%SS^%"
     
     
    пока получилось только так:
    set ss=SS
    set s="%%%SS%%%"

    Всего записей: 54 | Зарегистр. 20-08-2002 | Отправлено: 23:27 21-10-2009 | Исправлено: alexcoolmagic, 00:15 22-10-2009
    sysadminus



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

    При входе локальная станция должна проверить наличие более свежих файлов в сетевой папке \\dc3\temp, если есть более свежие файлы, то программа должна их перезаписать к себе на компьютер, согласно пути: с:\program files\megat, если свежих файлов нет, то программа должна просто закрыться.

    Операционная система на машинах: Windows xp sp3 ru

    Заранее спасибо.

    Всего записей: 6 | Зарегистр. 06-04-2006 | Отправлено: 09:18 22-10-2009
    Joo1z



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    slay1212
    Ну, какой параметр обрабатывать это можно задавать как параметр при запуске батника или вывести на экран весь список и предложить ввести номер редактируемого параметра.
     
    Попробуй что-то типа этого:

    Код:
     
    @echo off
    setlocal enabledelayedexpansion
    set settingsfile=1.ini
     
    for /f "eol=# delims== tokens=1,2" %%i in (%SETTINGSFILE%) do set /a count=!count!+1 & @echo !count! %%i=%%j
     
    echo Введите номер редактируемого параметра:
    set /p editparam=
     
    echo Введите значение параметра
    set /p editparamvalue=
     
    for /f "delims== tokens=1,2" %%s in ('sed -n %editparam%p %SETTINGSFILE%') do sed s/%%t/%editparamvalue%/ %SETTINGSFILE% >>temp.ini
     

    Всего записей: 123 | Зарегистр. 17-02-2009 | Отправлено: 10:13 22-10-2009
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    alexcoolmagic
    set s=%%ss%%
     
    или
     
    set "s=%%ss%%"

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 10:18 22-10-2009 | Исправлено: mugil_cephalus, 19:11 24-10-2009
    mugil_cephalus

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

    Цитата:
    мне нужно создать соединения,

    для создания - netsh interface ip set address name=dialup1 ... (аналогично - netsh interface ip set address name="Подключение по локальной сети")

    Цитата:
    а не запускать уже готовое соединение, запускать будут пользователи

    для запуска - rasdial

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 18:09 22-10-2009
    VisioNRU

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток!! Прошу прощения, но  найти в 7  частях данной темы  уже очень проблематично, да и поиск не дал результатов.
     Задача следующая, возможно она  не столько для bat-сценария но все же..хочется нажать кнопку и чтоб машина за тебя работала.
     есть Win XP (eng) embedded. никакого софта кроме Winrar нет.
    задача:
     
    1. Установить в настройках даты и времени:
    - часовой пояс +5 (ekaterinburg),
    - определенный IP-адрес (например 1.1.1.1);
    - для синхронизации времени, соответственно галочка для синхронизации тоже должна стоять.
    2. В настройках дисплея:
    - отключить ScreenSaver
    - в Customize desktop:
          - показывать след значки на рабочем столе My Computer, My network places
          - убрать галку Run Desctop clean...
    3. В региональных настройках:
    - выбрать Русский в двух местах.
    - поставить галку Apply to default profile.....
    4. В security center:
    - в Change the way Security Center alerts me убрать notifications для  всех типов оповещений (убрать все три галки)
    5. В Windows FireWall:
    - включить Firewall
    - во вкладке Advanced-> Secure Logging поставить обе галочки.
     
    Спасибо заранее. буду благодарен любым крохам информации.
     

    Всего записей: 14 | Зарегистр. 17-10-2009 | Отправлено: 18:56 22-10-2009
    lorents



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

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 20:40 22-10-2009 | Исправлено: lorents, 22:19 22-10-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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 7
    vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru