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

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



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    да он сто лет не обновлялся. у меня тоже 1.5

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 00:49 05-09-2010
    adashko



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

    Всего записей: 43 | Зарегистр. 15-09-2006 | Отправлено: 01:52 05-09-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 01:55 05-09-2010
    adashko



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

    Всего записей: 43 | Зарегистр. 15-09-2006 | Отправлено: 01:56 05-09-2010
    bomzzz



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

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



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

    Цитата:
    папки, с именами *.tmp не удаляются. Правда они скрытые и системные
    потому и не удаляются - их такой фор просто не видит. так попробуй:

    Код:
    for /f "delims=" %%a in (' dir /b /ad . ') do if /i "%%~xa" equ ".tmp" rd /s /q "%%~a"  

     

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 03:46 05-09-2010
    Free_Soft



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

    Код:
    echo.>"%temp%\~.ddf"
    makecab /d RptFileName="%temp%\~.rpt" /d InfFileName="%temp%\~.inf" -f "%temp%\~.ddf" >nul
    for /f "tokens=4,5,7" %%a in ('type "%temp%\~.rpt"') do if not defined curdate set "curdate=%%c-%%a-%%b"

    Брал из шапки для экранирования времени в одном формате (берется из makecab.exe)
    При работе создает в темпе три файла - ~.ddf, ~.inf и ~.rpt. Можно как то унифицировать код, чтобы он использовал скажем 1 темповый файл?

    Всего записей: 1515 | Зарегистр. 19-04-2010 | Отправлено: 06:58 05-09-2010
    PulsSe

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

    Всего записей: 28 | Зарегистр. 31-08-2010 | Отправлено: 10:44 05-09-2010 | Исправлено: PulsSe, 10:52 05-09-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:38 05-09-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день!
    Иногда при ручном закрытии bat-файла, у меня окно командной строки остается запущенным, при этом сам скрипт уже не работает, и его ни как не выходит закрыть, от чего так происходит?

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 12:51 05-09-2010
    ComradG



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да нет, одними макросами то тут вряд ли можно обойтись, да и муторно их торкать то. Тут лучше VBA использовать: создать экземпляр StreamReader, который бы передавал считанную информацию StreamWriter'у с установленной скоростью. Посредством батника такое едва ли удастся провернуть.
    lorents
    Если я тебя правильно понял, то попробуй в самом конце батника указать не exit /b, а просто exit. Батник отработает и консоль захлопнется.

    Всего записей: 2037 | Зарегистр. 05-07-2008 | Отправлено: 12:55 05-09-2010 | Исправлено: ComradG, 12:57 05-09-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:57 05-09-2010 | Исправлено: bomzzz, 12:58 05-09-2010
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    а отчего это происходит?
    т.е. там где я использую exit /b заменить на exit?

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 13:04 05-09-2010 | Исправлено: lorents, 13:04 05-09-2010
    bomzzz



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    команду какую то используешь что попадешь в cmd
     
    Добавлено:
    может у твоего батника расширение не bat а cmd.

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    exit /b - используется в сценариях для того, чтобы текущая сессия консоли не была захлопнута (если бат запускается из самой консоли, разумеется); тут параметр /b указывает CMD не иметь далее секс с CMD, а просто завершить сношения.
    exit - завершает и сценарий и работу консоли.
     
    Хм! а разве расширение батника играет принципиальную роль? Все равно и bat и cmd обрабатываются одним и тем же интерпретатором, так что не думаю, что причина в сакральности расширений.

    Всего записей: 2037 | Зарегистр. 05-07-2008 | Отправлено: 13:07 05-09-2010 | Исправлено: ComradG, 13:11 05-09-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:15 05-09-2010
    lorents



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

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 13:28 05-09-2010 | Исправлено: lorents, 13:29 05-09-2010
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    afair единственная найденная разница между обработками .cmd и .bat - разная обработка команды set
    конкретнее  - в bat эта команда не влияет на errorlevel, в cmd - устанавливает errorlevel сама.

    Код:
    @echo off
    cd :: 2>nul
    set ss=1
    echo =%errorlevel%
     

    .cmd напечатает =0, .bat - =1
     
    Добавлено:

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

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 13:29 05-09-2010 | Исправлено: wolf0425, 13:35 05-09-2010
    lorents



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

    Цитата:
    внешнее управление работой батника проще делать через создание/удаление/проверку флажковых файлов.  

    а можно поподробнее?

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3291 | Зарегистр. 30-12-2007 | Отправлено: 13:43 05-09-2010
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:57 05-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