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

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



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здраствуйте. Сразу хочу попросить пощение если этот вопрос уже рассматривался раньше.
    Как вывести дату на екран без точек, например если написать:
    echo %date% - результат будет 27.01.2009, как сделать что бы вывело 27012009? Или как записать это число в переменную?
    Зарание благодарен.

    Всего записей: 49 | Зарегистр. 22-10-2008 | Отправлено: 15:45 27-01-2009
    Elroir



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

    Код:
    echo %date:.=%


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

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



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть файл 1.txt нужно в этом файле найти строку которая начинается со слова "loop" и вырезать из неё например несколько последних символов.
    Зарание благодарен.

    Всего записей: 49 | Зарегистр. 22-10-2008 | Отправлено: 20:40 27-01-2009
    korosya

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

    Код:
    Есть два текстовых файла. Один полностью юникодный (содержаться строки на разных языках). Задача: удалить из юникодного файла строки, в которых содержатся определённые слова. Список слов - во втором файле. Возможно есть какая-нибудь утилита, которая поможет решить эту задачу из комстроки?

    01MDM обещал рассказать как это можно сделать при помощи утилиты iconv, но не рассказал. Может быть кто-нибудь поможет разобраться с моим вопросом?

    Всего записей: 1005 | Зарегистр. 19-07-2003 | Отправлено: 23:09 27-01-2009
    batniki



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

    Всего записей: 50 | Зарегистр. 11-02-2008 | Отправлено: 23:34 27-01-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    korosya
    Попробуй. Есть два файла 1-utf.txt (файл с текстом) и list-utf.txt (файл со словами)
     

    Код:
     
    @echo off
    findstr /v /g:list-utf.txt 1-utf.txt 1>1.tmp
    move /y 1.tmp 1-utf.txt  
     

     
    Запускать с юникодной консолью:

    Код:
     
    cmd /u /c batnic.cmd
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 23:44 27-01-2009
    korosya

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Не получается. Файл 1.tmp в точности совпадает с 1-utf.txt. В качестве 1-utf.txt я использую INTL.INF из папки I386 дистрибутива WinXP. Файл list-utf.txt (ANSI) Подробнее...
     

    Всего записей: 1005 | Зарегистр. 19-07-2003 | Отправлено: 01:06 28-01-2009 | Исправлено: korosya, 01:36 28-01-2009
    Elroir



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

    Цитата:
    Есть файл 1.txt нужно в этом файле найти строку которая начинается со слова "loop" и вырезать из неё например несколько последних символов.  


    Код:
     
    @echo off
    setlocal
    for /f "tokens=*" %%a in ('type 1.txt ^| findstr /r /c:"^loop"') do set "line=%%a" & goto next
    :next
    if defined line echo %line:~-5%
     

    Этот код находит первую строчку, которая начинается со слова loop и выводит на экран 5 последних символов из этой строчки.
     
    batniki
    http://forum.ru-board.com/topic.cgi?forum=62&topic=15343&start=80#15


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

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

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

    Всего записей: 1005 | Зарегистр. 19-07-2003 | Отправлено: 01:17 28-01-2009 | Исправлено: korosya, 01:35 28-01-2009
    01MDM



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

    Цитата:
    Не получается. Файл 1.tmp в точности совпадает с 1-utf.txt. В качестве 1-utf.txt я использую INTL.INF из папки I386 дистрибутива WinXP

     
    Он в кодировке utf-16, а с ней, наверное, юникодная cmd (cmd /u) не справляется
    Проверь такой вариант, если все пройдет нормально раскомментируй две последние строки:
     

    Код:
     
    @echo off
     
    iconv -f utf-16 -t utf-8 intl.inf 1>~intl.inf
    findstr /v /g:list.txt ~intl.inf 1>intl.tmp
     
    ::move /y intl.tmp intl.inf
    ::del ~intl.inf  
     

     
    При конвертации в utf-8 из utf-16 файл получается вдвое меньше, но сравнение содержания не находит отличий (в notepad++)

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:42 28-01-2009 | Исправлено: 01MDM, 11:48 28-01-2009
    batniki



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir, спасибо!
     
    Подскажите, как сделать, чтобы названия всех файлов с расширением .rar из каталога archs
    записывались построчно (без расширения, только имя) в list.txt

    Всего записей: 50 | Зарегистр. 11-02-2008 | Отправлено: 12:38 28-01-2009
    Elroir



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

    Код:
     
    @echo off
    for %%a in (archs\*.rar) do echo %%~na>>list.txt
     


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

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Столкнулись с проблемой определения ERRORLEVEL.
     
    Bat-файл написан для запуска программы, которая должна выполнить указанную команду (программа лежит не рядом с bat-файлом). Код приведен ниже.  
    В строке вызова команды написана специально неправильная команда, чтобы получить ошибку в ERRORLEVEL. В итоге получается, что ERRORLEVEL всегда 0, т.е. ошибок нет, тогда как уже ошибка - неправильная команда.
     
    Программа, к которой обращаюсь с командой, возвращает результат ERRORLEVEL=1, если указать неправильную команду в папке, где она распололжена.
     
    Может все дело в смене путей: cd..\.. ?
     
    Помогите, пожалуйста. Пока ещё новичок в батниках.
     

    Цитата:
    set dbOrig=db1.gdb
    set dbCopy=_db1.gdb
     
    rem Копируем БД, дальше действия будем делать с копией
    copy /Y %dbOrig% %dbCopy%
     
     
    rem Проверим, что есть загрузочный файл dbPatcher.exe
    cd ..\..\Exe
    if not exist dbPatcher.exe (
        set ERRORLEVEL=1
    ) else (
        rem Команда вызова паузы
        call dbPatcher.exe wrnComm
        echo Команда вернула результат = %ERRORLEVEL%
    )
    ...


    Всего записей: 4 | Зарегистр. 09-01-2009 | Отправлено: 15:02 28-01-2009
    Elroir



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

    Код:
     
    setlocal enabledelayedexpansion
     
    set dbOrig=db1.gdb  
    set dbCopy=_db1.gdb  
     
    rem Копируем БД, дальше действия будем делать с копией  
    copy /Y %dbOrig% %dbCopy%  
     
     
    rem Проверим, что есть загрузочный файл dbPatcher.exe  
    cd ..\..\Exe  
    if not exist dbPatcher.exe (
        rem Используйте переменную, с другим названием (не errorlevel)
        set MY_ERRORLEVEL=1
         
    ) else (  
        rem Команда вызова паузы  
        call dbPatcher.exe wrnComm  
        echo Команда вернула результат = !ERRORLEVEL!  
    )  
     
    ...  
     


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

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



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

    Всего записей: 124 | Зарегистр. 19-01-2007 | Отправлено: 16:36 28-01-2009
    NPhoenix

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо огромное. Прояснилося...
     
    Добавлено:
    chel78
     
     А к какой именно программе ты хочешь прилогиниться?

    Всего записей: 4 | Зарегистр. 09-01-2009 | Отправлено: 16:41 28-01-2009
    kravchuk666

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите плизз напсиать батник. Суть следующая есть программа gif_opener которая просматривает и редактирует внутреннюю структуру gif файла, есть сам gif файл, нужно следующее:
    запустит gif_opener в нем открыть gif файл, перейти на 13 байт поменять все до 60 сохранить и выйти. тк с программой врядил кто то знаком, то может просто подскажете как перемещать курсор по координатам...

    Всего записей: 3 | Зарегистр. 28-01-2009 | Отправлено: 16:46 28-01-2009
    chel78



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

    Цитата:
    А к какой именно программе ты хочешь прилогиниться?

     
     
     SAP

    Всего записей: 124 | Зарегистр. 19-01-2007 | Отправлено: 16:54 28-01-2009
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kravchuk666
    Тебе скорее подойдет AutoIt скрипт - http://forum.ru-board.com/topic.cgi?forum=5&topic=29240
     
    chel78
    Может и тебе пригодится.

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

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

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

    Всего записей: 3 | Зарегистр. 28-01-2009 | Отправлено: 17:11 28-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