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

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

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gryu
    http://forum.ru-board.com/topic.cgi?forum=62&topic=19668&start=0&limit=1&m=4#1
    http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=379&limit=1&m=1#1
    сделай пару движений мышкой и реши для себя, подходит тебе или нет.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 18:19 05-04-2010 | Исправлено: king_stiven, 18:20 05-04-2010
    mugil_cephalus

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

    Цитата:
    Всем спасибо за помощь большое! Получилось следующее:  
     
    Этот bat-фаил включает VPN соединение :  
     
    Код:rasphone -d "название"  
     
     
    Этот bat-фаил выключает VPN соединение :  
     
    Код:rasdial "название" /DISCONNECT  
     
     
    Все проверено, все работает. )  
     

    http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=1600#6

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 18:26 05-04-2010
    Dimau1981

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425, спасибо!
    Прерывал, т.к. до этого - start /b cmd /c 2^>nul 1^>nul - не додумался...

    Всего записей: 166 | Зарегистр. 29-12-2008 | Отправлено: 18:43 05-04-2010
    anzibal

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброе всем время суток. Нужна ваша помощь. Нужно сделать, чтобы при запуске bat файла, отменялось выполнение ПРЕДпоследнего назначенного задания. Я думаю сделать так: чтобы создавался тхт со списком всех заданий, из этого списка каким-то образов отсеивалось предпоследние задание и отменялось его выполнение.  
    Список создать вроди как получилось
    mkdir %SYSTEMDRIVE%\OUT
    schtasks >\OUT\temp.txt
     
    Но понятия не имею как выполнить этот поиск. Зарание большое спасибо тем, кто поможет разобраться

    Всего записей: 9 | Зарегистр. 05-04-2010 | Отправлено: 19:32 05-04-2010
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    anzibal
    вот предпоследнее задание (но код требует кастомизации) :
     
    chcp 1251>nul
    for /f "tokens=1-4* skip=6 delims= " %%a in ('dir /a-d/o-d/tc %systemroot%\Tasks') do set "var=%%~e" &&goto:exit
    :exit
    pause
     

    Цитата:
    отменялось

     
    F:\Documents and Settings\admin>schtasks /?
     
    SCHTASKS /параметр [аргументы]
     
    Описание:
        Позволяет администратору создавать, удалять, изменять и опрашивать
        запланированные задачи в локальной или удаленной системе. Заменяет AT.exe.
     
    Параметры:
        /Create         Создание запланированной задачи.
     
        /Delete         Удаление запланированной задачи или задач.
     
        /Query          Вывод данных о всех запланированных задачах.
     
        /Change         Изменение свойств запланированной задачи.
     
        /Run            Немедленное выполнение запланированной задачи.
     
        /End            Остановка выполняющейся запланированной задачи.
     
    что значит отменялось?? это delete или end - ??

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 21:08 05-04-2010 | Исправлено: mugil_cephalus, 21:16 05-04-2010
    anzibal

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    delete....
    У меня получилось отсортировать список.
    с сохранением в файл.
    CHCP 1251
    schtasks >C:\temp.txt
    for /F "skip=3 tokens=*" %%i in (temp.txt) do echo %%i >>"C:\spisok.txt"
    Смотрел команду find но не понял как она действует.

    Всего записей: 9 | Зарегистр. 05-04-2010 | Отправлено: 21:26 05-04-2010 | Исправлено: anzibal, 21:26 05-04-2010
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    anzibal
    что у тебя показывает мой код?

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 21:37 05-04-2010
    anzibal

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

    C:\>chcp 1251  1>nul
     
    C:\>for /F "tokens=1-4* skip=6 delims= " %a in ('dir /a-d/o-d/tc C:\WINDOWS\Task
    s') do set "var=%~e"   && goto:exit
     
    C:\>set "var="   && goto:exit
     
    C:\>set "var="   && goto:exit
     
    C:\>set "var="   && goto:exit
     
    C:\>set "var="   && goto:exit
     
    C:\>set "var="   && goto:exit
     
    C:\>set "var="   && goto:exit
     
    C:\>set "var=свободно"   && goto:exit
     
    C:\>pause
    Для продолжения нажмите любую клавишу . . .

    Всего записей: 9 | Зарегистр. 05-04-2010 | Отправлено: 21:40 05-04-2010
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    anzibal
    введи в консоли dir /a-d/o-d/tc %systemroot%\Tasks и покажи какой у тебя формат отображения даты и времени
    напримаеР, у меня -  
     
    01/28/2009  11:54 AM               284 AppleSoftwareUpdate.job

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 21:45 05-04-2010
    anzibal

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    05.04.2010  21:41               154 4.job

    Всего записей: 9 | Зарегистр. 05-04-2010 | Отправлено: 21:52 05-04-2010
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    anzibal
    тогда поменяй в коде tokens=1-3* ...... и set "var=%%~d" и запусти код - будет предпоследнее

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 21:54 05-04-2010
    anzibal

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

    C:\>chcp 1251  1>nul
     
    C:\>for /F "tokens=1-3* skip=6 delims= " %a in ('dir /a-d/o-d/tc C:\WINDOWS\Task
    s') do set "var=%~d"   && goto:exit
     
    C:\>set "var=5.job"   && goto:exit
     
    C:\>pause
    Для продолжения нажмите любую клавишу . . .
     
    После просмотра списка заданий, из 5 все 5 на месте
     
    Тут изменил skip=6 на 5, теперь выводить как бы предпоследние
    C:\>set "var=4.job"   && goto:exit
     
    Но опять же, в списке задание по прежнему висит

    Всего записей: 9 | Зарегистр. 05-04-2010 | Отправлено: 22:13 05-04-2010
    mugil_cephalus

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    anzibal
    это пока был код поиска
    вот код удаления :
    код удаления предпоследнего без предупреждения
    chcp 1251>nul  
    for /f "tokens=1-3* skip=5 delims= " %%a in ('dir /a-d/o-d/tc %systemroot%\Tasks') do set "var=%%~d" &&goto:exit  
    :exit  
    set "var2=%var:~-4%"
    if /i "_%var2%" equ "_.job" del /a: /q "%systemroot%\Tasks\%var%"
    pause  
     
    вот упростил
    chcp 1251>nul  
    for /f "tokens=1-3* skip=5 delims= " %%a in ('dir /a-d/o-d/tc %systemroot%\Tasks') do set "var=%%~d" &&goto:exit  
    :exit  
    if /i "_%var:~-4%" equ "_.job" del /a: /q "%systemroot%\Tasks\%var%"
    pause

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 22:21 05-04-2010 | Исправлено: mugil_cephalus, 22:24 05-04-2010
    anzibal

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А, всё понял. Блин интересная эта штука. Нужно заняться с этим, разобраться. Спасибо большое Вам за оказанную помощь.

    Всего записей: 9 | Зарегистр. 05-04-2010 | Отправлено: 22:27 05-04-2010
    mugil_cephalus

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

    Цитата:
    2. Написать пакетный файл выводящий на экран содержимое 3 текстовых файлов, указанных в качестве параметра и объединяющий их в один.

    запуск - filename.bat "c:\folder\1.txt" "d:\folder\2.txt" "x:\folder\3.txt"
     
    filename.bat :

    Код:
    rem @echo off
    cd\
    chcp 1251>nul
    type "%~1"
    type "%~2"
    type "%~3"
    copy /-y "%~1" + "%~2" + "%~3" "c:\folder\result.txt"
    chcp 866>nul
    pause

    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 22:33 05-04-2010 | Исправлено: mugil_cephalus, 22:42 05-04-2010
    METAJIJI

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Такая задачка, как изменить шрифт средствами bat? Мне нужно в консоли вывести utf8 кодировку...
    Пишу команду:

    Код:
    chcp 65001
     

    Ну и естественно точечные шрифты, которые по умолчанию стоят, ну никак не хотят отображать utf8. Очень хочется видеть в консоли Lucida Console Но лишь на 1 сессию, чтобы настройки консоли которые были не сбились...

    Всего записей: 27 | Зарегистр. 11-03-2010 | Отправлено: 09:02 06-04-2010 | Исправлено: METAJIJI, 09:03 06-04-2010
    ivn1978



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

    Всего записей: 192 | Зарегистр. 25-01-2010 | Отправлено: 09:52 06-04-2010 | Исправлено: ivn1978, 17:21 19-04-2010
    METAJIJI

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

    Код:
     
    :main
    @CLS
    ::{ Рисуем меню
    ECHO.Пункт меню 1
    ECHO.Пункт меню 2
    ECHO.Пункт меню 3 (Выйти)
    ECHO.Пункт меню звездочка [* ]
    ::{ Рисуем меню
     
    ::{ ждем ввода с клавиатуры
    SET mainprompt=x && SET /p mainprompt= Выберите пункт меню:
    ::} ждем ввода с клавиатуры
     
    ::{ Проверяем что ввел пользователь
    IF /i %mainprompt%==Значение_1 GOTO :point
    IF /i %mainprompt%==Значение_2 CALL  
    IF /i %mainprompt%==Значение_3 EXIT
    IF /i %mainprompt%==* GOTO :STAR
    ::} Проверяем что ввел пользователь
    GOTO main
     
    ::{Пример с точкой в батнике
    :point
    ECHO.Выбрана 1 опция
    PAUSE
    GOTO :main
    ::}Пример с точкой в батнике
     
    ::{выбор по звездочке
    :STAR
    ECHO.Вы Ввели звездочку
    PAUSE
    GOTO :main
    ::}
     
     

    Всего записей: 27 | Зарегистр. 11-03-2010 | Отправлено: 10:11 06-04-2010 | Исправлено: METAJIJI, 10:38 06-04-2010
    ivn1978



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

    Всего записей: 192 | Зарегистр. 25-01-2010 | Отправлено: 10:16 06-04-2010 | Исправлено: ivn1978, 17:22 19-04-2010
    METAJIJI

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

    Всего записей: 27 | Зарегистр. 11-03-2010 | Отправлено: 10:19 06-04-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