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

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

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

evle (19-03-2008 19:44): Лимит страниц.
Задачи на bat-файлах 5
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 15:21 11-09-2007 | Исправлено: Elroir, 01:52 26-02-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mpa3b
    А зачем вообще создавать виртуальный диск? Он эмулирует не CD\DVD, а локальный диск.
    Попробуй так

    Код:
     
    subst z: /d
    subst z: How_make_dv
    pushd z:\bin
    start "" VIDEO.exe
    popd  
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 12:52 15-01-2008
    koderr



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Задача: зателнетиться на машину, послать команды, закрыть соединение. В стандартном telnet.exe возможности выполнения скрипта (как в ftp.exe) не нашел

    ----------
    The truth is out there...

    Всего записей: 353 | Зарегистр. 22-06-2005 | Отправлено: 14:57 15-01-2008 | Исправлено: koderr, 14:59 15-01-2008
    Valdon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Возможно ли в консоли сделать вывод в ANSI-1251 кодировке (избавиться от крякозяблов кирилицы если батничек в ANSI-1251 без конвертации батника в DOS-866) ? Если возможно, то поделитесь плиз, примером.....

    Всего записей: 428 | Зарегистр. 25-07-2005 | Отправлено: 16:29 15-01-2008 | Исправлено: Valdon, 17:18 15-01-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Valdon
    Смотря что вывести. Результат батника или результат вывода какого-нибудь приложения, которое вызывалось батником? Чаще достаточно в начале батника поставить chcp 1251 1>nul

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 17:04 15-01-2008
    Valdon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM, Команду Echo Руcский текст (Ansi-1251) на консоль.
    З.Ы. Пытался из батничка вызавть cmd.exe /a и продолжить выполнение сценария но эффекта ноль , вообще  я так и непонял смысла параметра /a ....  

    Всего записей: 428 | Зарегистр. 25-07-2005 | Отправлено: 17:09 15-01-2008 | Исправлено: Valdon, 17:28 15-01-2008
    01MDM



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

    Код:
     
    @echo off
    chcp 1251 >nul
    echo Некоторый текст
    chcp 866 >nul
    :: Последняя строка по-желанию (если надо что-бы вернулась dos-кодировка в консоль)
     

     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 17:25 15-01-2008
    Valdon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM, я так и делал,у меня в консоли всеравно крякозяблы....... Где я туплю ? Если перенаправить вывод в файл то кодировка естестно ANSI-1251  

    Всего записей: 428 | Зарегистр. 25-07-2005 | Отправлено: 17:32 15-01-2008 | Исправлено: Valdon, 17:39 15-01-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Valdon
    Что за виндоус?
    Команда help в консоли выводится на русском? Если да, то скорее всего это не ANSI-1251.
     
    Еще может быть засада если ты cmd запускаешь из какого-нибудь мудреного батника.
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 17:43 15-01-2008 | Исправлено: 01MDM, 17:46 15-01-2008
    Valdon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM,
    Код:
     
    @echo off  
    if "%per%" == "" (
        set per=yes
        cmd.exe /a /c %0
        exit /b
    )
    chcp 1251 >nul
    Echo  Русский текст в кодировке ANSI-1251 - Наблюдаем крякозябы в консоли
    Echo  Возможно ли от них избавиться?
    Pause
    Exit

     
    ЗЫ: WinXP SP2 RUS

    Всего записей: 428 | Зарегистр. 25-07-2005 | Отправлено: 17:50 15-01-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Valdon
    Не знаю, у меня все выводится нормально. Здесь проблема не с выводом, а с настройками.
    Посмотри в "языках и рег. стандартах" что бы стояла поддержка рус. языка для не юникодных программ, может и в реесте какие-нибудь настройки, типа 1252 > 1251  

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:02 15-01-2008
    Valdon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM, мож этот твик влияет ?:
    Код:
     
    ; Избавляемся от кракозябликов в некотрых не-юникоде программах
    ; Так же избавляет от необходимости переключения на русский язык в обоих программах
    ; При копировании между ними русского текста через буфер обмена
    ; Иногда могут быть проблемы!!!! (Но, редко. Пользы больше чем вреда)
    HKLM,"SYSTEM\CurrentControlSet\Control\Nls\CodePage","1250",0x00000000,"c_1251.nls"
    HKLM,"SYSTEM\CurrentControlSet\Control\Nls\CodePage","1251",0x00000000,"c_1251.nls"
    HKLM,"SYSTEM\CurrentControlSet\Control\Nls\CodePage","1252",0x00000000,"c_1251.nls"
    HKLM,"SYSTEM\CurrentControlSet\Control\Nls\CodePage","1253",0x00000000,"c_1251.nls"
    HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontMapper","ARIAL",0x00010001,204
    HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes","Arial,0",0x00000000,"Arial,204"
    HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes","Comic Sans MS,0",0x00000000,"Comic Sans MS,204"
    HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes","Courier,0",0x00000000,"Courier New,204"
    HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes","Courier,204",0x00000000,"Courier New,204"
    HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes","MS Sans Serif,0",0x00000000,"MS Sans Serif,204"
    HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes","Tahoma,0",0x00000000,"Tahoma,204"
    HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes","Times New Roman,0",0x00000000,"Times New Roman,204"
    HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes","Verdana,0",0x00000000,"Verdana,204"

     
    З.Ы. По ходу этот твик у меня по дефолту в инсталяшку винды вшит.

    Всего записей: 428 | Зарегистр. 25-07-2005 | Отправлено: 18:08 15-01-2008
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Valdon
    Если честно, то не знаю. Может еще шрифт в консоли изменить? В файл ведь выводит нормально. Вообще кириллица присутствует если выводишь справку(help, /?)?
     
    ЗЫ. По всей видимости какой-то а-ля Fuck Bill?

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:20 15-01-2008
    Valdon



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM, help - крякозяблы(DOS866), ANSI - тоже крякозяблы.....
     

    Цитата:
    ЗЫ. По всей видимости какой-то а-ля Fuck Bill?
    Не, дистр сам собирал на основе ru_winxp_pro_with_sp2_vl.iso и UpdatePack-а от Petya V4sechkin но это уже оффтоп.....
     
    01MDM, благодарю за помощь, буду с твиками реестра разбираться

    Всего записей: 428 | Зарегистр. 25-07-2005 | Отправлено: 18:38 15-01-2008
    Mpa3b



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

    Цитата:
    01MDM
    А зачем вообще создавать виртуальный диск?

    странно, как зачем?
    так как с жесткого содержимое диска CD не работает.
    Вирутальный создается и ручками запускать ,-так же все идет.
    Батфайл не умеет(мой) повторить то, что делаю ручками, от сюда
    и вопрос, как батфайл написать. Другого способа не увидел, вот и завиртуалил.))
    по поводу

    Код:
     
    subst z: /d  
    subst z: How_make_dv  
    pushd z:\bin  
    start "" VIDEO.exe  
    popd  
     

     
    все пучом и крутится.
    спасибо.
     
    раскажи немного. чего это и чем отличается от моего.

    Код:
    subst z: /d  
    subst z: How_make_dv  
    z:/bin/VIDEO.exe

    слеши переставлял как ты ранее советовал, да
    и я вроде бы отписался.
     

    Всего записей: 1101 | Зарегистр. 23-03-2004 | Отправлено: 19:24 15-01-2008 | Исправлено: Mpa3b, 19:29 15-01-2008
    01MDM



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

    Цитата:
    раскажи немного. чего это и чем отличается от моего.
     

     
    ну pushd это вроде cd только еще запоминает предыдущий каталог, в который возвращаешься командой popd. Эта команда многоуровневая, но каждому pushd соответствует только свой popd. Удобно в случае если батник находится за пределами области из которой должна быть выполнена команда. Главное отличие от cd в том что ты не перемещаешься в каталог, а назначаешь его текущим. Поскольку Video.exe корректно работает только в случае если ты находишься там же, то pushd как раз подходит для этого.
    И в соответсвии с правилами запуска приложений применяется команда start.
     
    pushd /?
    start /?
     
    Кроме того не правильно использовать "/" вместо "\", это не никсовая консоль и если ввести, допустим, cd C:/windows/system32, то будет выведена ошибка.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 19:51 15-01-2008
    Mpa3b



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    спасибо, про старт я помню, даже и его приписывал, а про pushd
    так и не понял, мне команды стека напоминают и далее принцип не понятен.

    Цитата:
     
    Когда расширенная обработка команд включена, команда PUSHD допускает ввод
    сетевых путей в дополнение к обычным именам дисков и путям.
    Если указан сетевой путь, команда PUSHD создает временное имя диска,
    указывающее на заданный сетевой ресурс, а затем производит смену текущего
    диска и каталога, используя вновь определенное имя диска.
    Выделение временных имен дисков проводится в обратном порядке начиная
    с Z:, причем выбирается первое свободное имя диска.
     

    смутно, смутно

    Всего записей: 1101 | Зарегистр. 23-03-2004 | Отправлено: 20:17 15-01-2008
    uZver



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

    Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 22:44 15-01-2008
    DenSer



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    господа, подскажите плиз, возможно ли при помощи bat-файла убрать language bar (языковую панель) с панели задачь?
    заранее спасибо!
     
    Добавлено:
    забыл сказать!
    интересует данная функция в XP

    Всего записей: 258 | Зарегистр. 06-03-2004 | Отправлено: 12:16 16-01-2008
    cluster

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

    Код:
    regsvr32.exe /s /u msutb.dll
    taskkill /f /im explorer.exe
    explorer.exe

    Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 17:38 16-01-2008
    DenSer



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    cluster
    спасибо! но я так понял это вариант с перезапуском эксплорера? имхо не самый удачный вариант.
     
    есть ещё какие-либо варианты?

    Всего записей: 258 | Зарегистр. 06-03-2004 | Отправлено: 18:19 16-01-2008
       

    Страницы: 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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 4
    evle (19-03-2008 19:44): Лимит страниц.
    Задачи на bat-файлах 5


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru