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

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

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

vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 12:40 25-01-2010 | Исправлено: bomzzz, 13:37 20-08-2010
    Mark_Titov



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

    Цитата:
    ну наверно в батнике есть какая-то команда, которая это пишет

    ...прикалываешься. А серьезно?
     
    Добавлено:
    ...Причем он эту строку дублирует в самом начале батника и в самом конце его.
     
    Добавлено:
    ComSpec=C:\WINDOWS\system32\cmd.exe

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 21:25 11-06-2010
    wolf0425



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

    Цитата:
    ...прикалываешься.
    совершенно нет.
    и закомментировать @echo off  и просмотреть внимательно получившуюся при выполнении батника простыню - действительно рабочий способ найти ту строку кода, которая такое пишет. Сам бы я так делать не стал, но у меня и таких ошибок не бывает... хотя вот вчера отключал @echo off когда искал где же твой батник ругается на ошибки.
     
    компспек дефолтовый, т.е. извраты надо искать в коде...

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 22:07 11-06-2010 | Исправлено: wolf0425, 22:07 11-06-2010
    Mark_Titov



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

    Цитата:
    совершенно нет.  
    и закомментировать @echo off  и просмотреть внимательно получившуюся при выполнении батника простыню - действительно рабочий способ найти ту строку кода, которая такое пишет. Сам бы я так делать не стал, но у меня и таких ошибок не бывает... хотя вот вчера отключал @echo off когда искал где же твой батник ругается на ошибки.  
    компспек дефолтовый, т.е. извраты надо искать в коде...

    ...Это не первый раз такое, не могу понять в чем дело, бывает один и тот же код в двух батниках - но один выдает такую лабуду а другой нет. Хрень какая-то...
    Беру по кускам копирую в чистый лист - нормально. В чем прикол, не догоняю, но бесит не по детски...
    А код я смотрел - нормальный, я копированием вставил кусок кода :htm приведенный на предыдущей по-моему странице и все... Причем с начало все ок было, а потом такая херь...

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 22:20 11-06-2010
    WesternLight

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

    Цитата:
    к тому моменту когда батник доходит до этого кода - консоль уже открыта, так что в ней то ничего не поменяется... или поменяется?  

    Нет, не поменяется, а нужно... Т.к. все на компах будет происходить само по себе, доступа туда не будет, а еще батник запускается заданием с определенной периодичностью, т.е. у меня первый лог весь в кракозябрах... Ну, что ж, придумаю что-нить

    Всего записей: 61 | Зарегистр. 07-10-2007 | Отправлено: 23:16 11-06-2010
    wolf0425



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

    Цитата:
    Нет, не поменяется, а нужно...
    так как на старте проверяешь  - можно просто после того как отдетектил что не люсида и поменял настройки запустить стартом %~f0, а текущую копию батника - закрыть. кривовато, но сработает же. кто те окна считает

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 01:04 12-06-2010 | Исправлено: wolf0425, 01:08 12-06-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как можно сделать чтобы при drag and drop, файлы копировались в определенную папку

    Код:
    @ECHO OFF
    ENDLOCAL
    CD /D %~dp0
    SET "POINTER=1"
     
    :M1
    IF NOT "%~1"=="" (IF EXIST "%~1\*" (ECHO %POINTER% папка "%~1") ELSE (ECHO %POINTER% файл "%~1"))
    SET /a "POINTER+=1"
    SHIFT
    IF NOT "%~1"=="" GOTO M1
     
    ENDLOCAL  

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 01:47 12-06-2010 | Исправлено: lorents, 01:47 12-06-2010
    Mark_Titov



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

    Цитата:
    т.е. извраты надо искать в коде...

    ...Мдааа, походу твоя правда.
    Вот из-за этого кода портачит-

    Код:
    Echo >> c:\subject.txt
    Echo "System"> c:\subject.txt
    Call c:\"Automatic post system module".exe

    Пришлось подавление ставить...

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 07:21 12-06-2010 | Исправлено: Mark_Titov, 07:29 12-06-2010
    Den13V



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, Всем привет!!!
     
    Подскажите, может кто знает, как в cmd Win7Ult добавить второй основной шлюз для сетей ipv4?
     
    Пролапатил весь netsh, для второго осн. шлюза ничего не нашел.
     
    код для общих настр. сети ipv4:
     

    Код:
    netsh interface ipv4 set address name=Den13V source=static address=192.168.8.154 mask=255.255.255.0 gateway=192.168.8.10 gwmetric=0
     
    netsh interface ipv4 set dnsserver name=Den13V source=static address=192.168.8.10

     
    надо добавить еще адрес второго осн. шлюза:  
     
    192.168.5.11

    Всего записей: 15 | Зарегистр. 08-07-2009 | Отправлено: 11:53 12-06-2010
    obla4ko4240019



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

    Код:
    for /R "c:\windows\inf\" %%a in (oem*.inf) do dpinst.exe /U "%%a" /S /D

    а как не удалять заданные номера или диапазон, т.е. oem1-oem20 например? а oem21-oem140 удалять?

    Всего записей: 3275 | Зарегистр. 14-09-2005 | Отправлено: 13:05 12-06-2010
    WesternLight

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

    Цитата:
    так как на старте проверяешь  - можно просто после того как отдетектил что не люсида и поменял настройки запустить стартом %~f0, а текущую копию батника - закрыть. кривовато, но сработает же. кто те окна считает  

    что-то не работает, да, кажется так и не должно...
    Подробнее...

    Всего записей: 61 | Зарегистр. 07-10-2007 | Отправлено: 13:17 12-06-2010
    wolf0425



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

    да намутил ты что-то лишнего.
    как-то так должно быть, проверяй:

    Код:
    @echo off
     
    chcp 1251>nul
     
    reg.exe query "HKCU\Console" /v FaceName|find "Lucida Console">nul || (
        1>nul reg.exe add "HKCU\Console" /v FontSize /t REG_DWORD /d 1048576 /f
        1>nul reg.exe add "HKCU\Console" /v FontFamily /t REG_DWORD /d 54 /f
        1>nul reg.exe add "HKCU\Console" /v FontWeight /t REG_DWORD /d 400 /f
        1>nul reg.exe add "HKCU\Console" /v FaceName /t REG_SZ /d "Lucida Console" /f
        start "" "%~f0" %*
        exit
    )
     
    :begin
    echo Кракозябрам нет!
     
    pause
    exit


    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 13:24 12-06-2010 | Исправлено: wolf0425, 13:37 12-06-2010
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    Ну во первых я напартачил - вначале должно быть естественно SETLOCAL...
    А копирование если именно только файлов, а папки пропускать делается так  
    Опять же счетчик я так - на всякий случай прикрутил - реально он пока что никак не используется...

    ----------
    Всем непричастным рекомендую прогулки на свежем воздухе

    Всего записей: 2757 | Зарегистр. 15-12-2003 | Отправлено: 13:30 12-06-2010 | Исправлено: yurkesha, 13:31 12-06-2010
    res2001



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

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 13:31 12-06-2010
    Den13V



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001
     
    Подскажи каким образом, просмотрел help по route, кроме добавления маршрута, больше ничего не нашел похожего.
     
    попробовал ввести  
     

    Код:
    route add 192.168.5.11 mask 255.255.255.0 192.168.8.154

     
    результ: неверно задан параметр
     
    при добавлении в конец строки metric со значением 0-10, также пишет ошибку, без значения тотже эфект.

    Всего записей: 15 | Зарегистр. 08-07-2009 | Отправлено: 13:45 12-06-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Den13V
    Для маршрута по умолчанию будет так:
    route add 0.0.0.0 mask 0.0.0.0 192.168.5.11 metric 40
     
    Метрику задавай обязательно, иначе не знаю как IP будет понимать через какой шлюз ему отправлять пакеты. Посмотри текущую метрику маршрута по умолчанию (обычно 20) и задай большую.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 13:58 12-06-2010
    lorents



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

    Всего записей: 3299 | Зарегистр. 30-12-2007 | Отправлено: 14:00 12-06-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Den13V
    если хочешь чтоб маршрут был статическим, т.е. остался после перезагрузки виндов добавь параметр -p

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 14:01 12-06-2010
    Den13V



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

    Всего записей: 15 | Зарегистр. 08-07-2009 | Отправлено: 14:22 12-06-2010
    WesternLight

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

    Цитата:
    да намутил ты что-то лишнего.
    как-то так должно быть, проверяй:

    что-то не работает...

    Всего записей: 61 | Зарегистр. 07-10-2007 | Отправлено: 14:22 12-06-2010
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    obla4ko4240019
    посм. , может там есть инфа - http://oszone.net/3827
    Добавлено:
    а нет у тебя цикл неверно составлен

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 14:24 12-06-2010 | Исправлено: mugil_cephalus, 14:29 12-06-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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 8
    vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru