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

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

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

KLASS (06-03-2018 00:44): Объединение тем по сценариям: Сценарии Windows
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

hErAx

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

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

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

  • Отправлено: 01:53 25-10-2015 | Исправлено: Paromshick, 21:51 18-12-2017
    bob_plus



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Просвещенные!
    Кто-нибудь может подсказать как создать из командной строки задание не имеющее триггера, т..е. что нужно вставить вместо вопросов в ниже написанную строку:
     
    schtasks /create /s %USERDOMAIN% /ru "NT AUTHORITY\LOCALSERVICE" /sc ????? /f /tn "ad" /tr %SystemRoot%\system32\cmd.exe /rl highest  
     
    Уж мозг окончательно вынес.. Задача используется для запуска через /run для запуска CMDшника опосредовано с помощью планировщика. Такая же задача созданная в консоли Планировщика экспортированная в XML выглядит так:
     
    <?xml version="1.0" encoding="UTF-16"?>
    <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
      <RegistrationInfo>
        <Date>2016-02-29T14:26:27.7736342</Date>
        <Author>bobinter\sysadmin</Author>
      </RegistrationInfo>
     
     <Triggers />                        -  здесь триггера ЙОК !!!!
     
      <Principals>
        <Principal id="Author">
          <UserId>bobinter\sysadmin</UserId>
          <LogonType>InteractiveToken</LogonType>
          <RunLevel>HighestAvailable</RunLevel>
        </Principal>
      </Principals>
      <Settings>
        <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
        <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
        <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
        <AllowHardTerminate>true</AllowHardTerminate>
        <StartWhenAvailable>false</StartWhenAvailable>
        <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
        <IdleSettings>
          <StopOnIdleEnd>true</StopOnIdleEnd>
          <RestartOnIdle>false</RestartOnIdle>
        </IdleSettings>
        <AllowStartOnDemand>true</AllowStartOnDemand>
        <Enabled>true</Enabled>
        <Hidden>false</Hidden>
        <RunOnlyIfIdle>false</RunOnlyIfIdle>
        <WakeToRun>false</WakeToRun>
        <ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
        <Priority>7</Priority>
      </Settings>
      <Actions Context="Author">
        <Exec>
          <Command>%SystemsPh%\Special\Control\Services\ServicesEnvironment\startapp1.cmd</Command>
        </Exec>
      </Actions>
    </Task>
     
    Что вставить для опции /sc чтобы не определять триггер!
     
    Челом бью решившему этот для меня орешек!

    Всего записей: 5 | Зарегистр. 18-09-2011 | Отправлено: 00:47 03-03-2016
    dstormclone

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

    Всего записей: 31 | Зарегистр. 22-10-2014 | Отправлено: 09:05 03-03-2016 | Исправлено: dstormclone, 09:21 03-03-2016
    Rushmore



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bob_plus
    Создайте XML-шаблон, а потом используйте schtasks /create /xml

    Всего записей: 350 | Зарегистр. 01-08-2003 | Отправлено: 11:14 03-03-2016
    bob_plus



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо!
    А без xml есть решение?

    Всего записей: 5 | Зарегистр. 18-09-2011 | Отправлено: 11:29 03-03-2016
    Pasha_ZZZ



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    bob_plus
    Ну так создайте левый триггер, например ONCE в глубоком прошлом или будущем

    Всего записей: 12360 | Зарегистр. 11-03-2002 | Отправлено: 11:41 03-03-2016
    bob_plus



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    уже пробовал, но мне не понравилось...
    Но все равно - спасибо!

    Всего записей: 5 | Зарегистр. 18-09-2011 | Отправлено: 12:04 03-03-2016
    Pasha_ZZZ



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    bob_plus
    XML не нравится, триггер в прошлом не нравится......
    Вам вообще шашечки или ехать?

    Всего записей: 12360 | Зарегистр. 11-03-2002 | Отправлено: 12:08 03-03-2016
    urodliv



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Моё почтение соседям по форуму.
    Задача такова. Есть два iso-образа, которые необходимо монтировать в два виртуальных привода на базе Virtual CloneDrive. Монтирование можно сделать через командную строку.
    Проблема заключается в том, что если монтировать iso-файл в виртуальное устройство где уже "установлен диск", происходит его "выгрузка", а затем "загружается" нужный iso`шник. Хочется этого избежать.
    Возможно ли как-то проверить на занятость виртуальное устройство оптических дисков через командную строку силами операционной системы, так как производитель программы Virtual CloneDrive такого функционала в свои утилиты не заложил?

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6679 | Зарегистр. 29-04-2009 | Отправлено: 19:50 08-03-2016
    imsorry

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    urodliv
    >dir x:
    The device is not ready.

    Всего записей: 148 | Зарегистр. 25-09-2013 | Отправлено: 20:43 08-03-2016
    urodliv



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

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6679 | Зарегистр. 29-04-2009 | Отправлено: 21:01 08-03-2016
    imsorry

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    urodliv
    Я дико извиняюсь... это не я. Это Билл.
     
    Добавлено:
    Ну, там могут быть проблемы с локалью, но тебе же для себя, а не в дистрибуцию...

    Всего записей: 148 | Зарегистр. 25-09-2013 | Отправлено: 21:08 08-03-2016
    urodliv



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

    Цитата:
    Ну, там могут быть проблемы с локалью, но тебе же для себя, а не в дистрибуцию...

    Главное идея, остальное - дело техники. Я буду ориентироваться на "серийный номер тома", а он включает в себя только аглицкие буквы. Так что прорвёмся. Спасибо.

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6679 | Зарегистр. 29-04-2009 | Отправлено: 21:25 08-03-2016
    YuS_2



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

    Цитата:
    Я буду ориентироваться на "серийный номер тома", а он включает в себя только аглицкие буквы.

    Зачем серийный номер? Нужен ведь запуск команды монтирования по условию, в зависимости от занятости устройства? Достаточно примерно такого кода:

    Код:
    @echo off
    >nul 2>&1 dir e:
    if errorlevel 1 (echo free) else (echo busy)
    pause

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 23:02 08-03-2016 | Исправлено: YuS_2, 23:03 08-03-2016
    urodliv



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

    Цитата:
    Зачем серийный номер? Нужен ведь запуск команды монтирования по условию, в зависимости от занятости устройства? Достаточно примерно такого кода:  

    Очень даже важно. Это позволяет монтировать образ под нужной буквой. Мы же приворовываем: надо обойти систему защиты с наименьшими телодвижениями со стороны пользователя.

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6679 | Зарегистр. 29-04-2009 | Отправлено: 23:08 08-03-2016
    YuS_2



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

    Цитата:
    Мы же приворовываем: надо обойти систему защиты с наименьшими телодвижениями со стороны пользователя.

    Ничего не понял...какая система защиты? Если я правильно понял, вопрос был:

    Цитата:
    Возможно ли как-то проверить на занятость виртуальное устройство оптических дисков через командную строку силами операционной системы, так как производитель программы Virtual CloneDrive такого функционала в свои утилиты не заложил?

    - верно? Если да, то предложенное выше решение, вполне достаточно, только необходимо подставить нужные команды вместо "echo free" и "echo busy"...

    Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 23:29 08-03-2016
    urodliv



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

    Цитата:
    Ничего не понял...какая система защиты? Если я правильно понял, вопрос был:...

    Верно. Только это не вся задача, а небольшой кусочек по её решению. Пинок imsorry в сторону команды dir меня вполне устроил, а уж как я его буду реализовывать - это мне решать.
    Ваш вариант решения имеет право на жизнь, но мне он менее удобен.

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6679 | Зарегистр. 29-04-2009 | Отправлено: 23:42 08-03-2016
    imsorry

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    urodliv
    Я дико извиняюсь... ничего, если еще раз пну?

    Код:
    >vol c:
     Volume in drive C is xxxxxxxx
     Volume Serial Number is XXXX-XXXX
     
    >vol x:
    The device is not ready.

     
    И, предвосхищая события, еще разок :)

    Код:
    @echo off
    for /F "skip=1 tokens=5" %%a in ('vol %~D0') do set Serial=%%a
    if %Serial% equ ABCD-EF01 do (
        echo Valid serial number!
    )

    .

    Всего записей: 148 | Зарегистр. 25-09-2013 | Отправлено: 00:15 09-03-2016
    urodliv



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

    Цитата:
    И, предвосхищая события, еще разок  

    Опоздали Уже часа два как подобный код написал и он работает

    ----------
    Очень скоро еда станет совершенно безвкусной, и тогда этот недостаток придётся компенсировать хорошо развитым воображением.

    Всего записей: 6679 | Зарегистр. 29-04-2009 | Отправлено: 00:20 09-03-2016
    imsorry

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    urodliv
    Главное - что заработало. Тем более, что код я подтянул когда-то где-то.

    Всего записей: 148 | Зарегистр. 25-09-2013 | Отправлено: 00:40 09-03-2016
    ipmanyak



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

    Код:
     
    echo on                                                    
    rem удаление пустых файлов *.dat                                
    set Arg=C:\ARC                                              
    for  %%m in (%Arg%\*.dat) do ( if %%~Zm == 0 del /q  %%m )  
     
                                                               


    ----------
    В сортире лучше быть юзером, чем админом...

    Всего записей: 11719 | Зарегистр. 10-12-2003 | Отправлено: 11:41 15-03-2016 | Исправлено: ipmanyak, 08:12 17-03-2016
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 12
    KLASS (06-03-2018 00:44): Объединение тем по сценариям: Сценарии Windows


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru