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

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

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

vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:37 26-05-2009 | Исправлено: TechnicsKuzya, 13:53 27-12-2009
    oshizelly



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

    Цитата:
    Нужно в начале файла написать echo off.

    Спасибо, но это немного не то. Echo off проосто запрещает вывод текстовых сообщений в ходе выполнения команд, так что окно все равно генерируется, только остается пустым.
    А вообще-то меня гораздо больше интересует ответ на 2-й вопрос.

    Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 21:46 24-08-2009
    NIKZZZZ



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

    Цитата:
    окно command shell закрывалось само после исполнения команды (запуска приложения tralala).  

     

    Код:
    Start "tralala" tralala.exe /k/c


    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 22:10 24-08-2009
    Alukardd



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

    Цитата:
    1) окно command shell не выводилось на передний план или вообще не создавалось.

    для этого есть такая утилита типо bat to exe. exe'шник не отображается на экране, а в некоторых подобных конверторах есть расширенные настройки, где ты сам опредляешь видимость и многое другое...

    Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 23:49 24-08-2009
    garri671



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет!
    подскажите как из сервера через батник вытаскивать список пользователей из определенной группы (например Инет) в текстовый файл , админские полномочия имеются. И так же вытаскивать пользователей из Microsoft Exchange server (Списки рассылки ->Display Name (Внешняя почта)).
    Заранее благодарен

    Всего записей: 133 | Зарегистр. 18-07-2007 | Отправлено: 08:20 25-08-2009 | Исправлено: garri671, 17:19 26-08-2009
    oshizelly



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

    Код:
    Start "tralala" tralala.exe  /k/c

     
    Спасибо, вроде бы работает, окно command shell само закрывается после выполнения команды, но для лучшего усвоения еще раз пререспрошу. Синтаксис команды в батнике:

    Код:
    START + имя запускаемого файла в кавычках, но без параметров + еще раз имя запускаемого файла без кавычкек, но с параметрами
    Правильно?  
    А если в батнике несколько строк на запуск исполнимых файлов, то каждую надо строить таким же образом или достаточно указать Start только один раз в первой строке?
     
     
    Alukardd
    Цитата:
    для этого есть такая утилита типо bat to exe. exe'шник не отображается на экране, а в некоторых подобных конверторах есть расширенные настройки,  

    Глянул в Гугле, там действительно много всего предлагается. Как выбрать, не представляю Был ли признателен за совет, парочку вариантов, не слишком сложных, но и не совсем примитивных.

    Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 11:39 25-08-2009 | Исправлено: oshizelly, 11:54 25-08-2009
    fd1136

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

    Код:
     
    start hidcon <имя твоего батника с вызовом tralala.exe>

     

    Всего записей: 49 | Зарегистр. 09-11-2006 | Отправлено: 12:10 25-08-2009
    bredonosec



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

    Цитата:
    START + имя запускаемого файла в кавычках, но без параметров + еще раз имя запускаемого файла без кавычкек, но с параметрами  

    нет, название службы (под которым она в списке служб будет), имя файла и параметры.

    Цитата:
    то каждую надо строить таким же образом или достаточно указать Start только один раз в первой строке?  

    нет, ты же каждую службу отдельно запускаешь.. так что, каждой и старт писать.

    ----------
    Вопрос: 'Что человек курит?' как правило возникает не когда ты слышишь, как он дышит, а когда видишь, что он пишет
    Пропеллер играет роль вентилятора, он останавливается -пилот потеет
    Аськи нету.

    Всего записей: 16257 | Зарегистр. 13-02-2003 | Отправлено: 12:12 25-08-2009
    Alukardd



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

    Цитата:
    Глянул в Гугле, там действительно много всего предлагается. Как выбрать, не представляю  Был ли признателен за совет, парочку вариантов, не слишком сложных, но и не совсем примитивных.

    вот ссылочка на тот который счел самым приемлимым для себя
    _http://letitbit.net/download/2357.a295532a3fad35fdc5ccd021c/Bat_To_Exe_Converter.zip.html
     
     
    народ кто может посмотрите пару предыдущих страничек и ответьте на мои вопросы плз

    Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 14:24 25-08-2009
    AgentMario

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Рылся в куче всего полезного, но так и не нарыл! Хелп...
    Как синхронизировать через батник МЕСЯЦ (не время) с каким-либо сервером?

    Всего записей: 5 | Зарегистр. 25-08-2009 | Отправлено: 14:58 25-08-2009
    fd1136

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

    Цитата:
    Как синхронизировать через батник МЕСЯЦ (не время) с каким-либо сервером?

    Поменять только МЕСЯЦ, если он не совпадает с мировой датой? Т.е. оставить дату и время те, которые стоят на компе?

    Всего записей: 49 | Зарегистр. 09-11-2006 | Отправлено: 15:52 25-08-2009
    AgentMario

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Главное месяц, желательно год.(Всё остальное не важно, можно даже не изменять дату, а просто сравнить)

    Всего записей: 5 | Зарегистр. 25-08-2009 | Отправлено: 16:00 25-08-2009 | Исправлено: AgentMario, 16:07 25-08-2009
    fd1136

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

    Цитата:
    Главное месяц, желательно год.(Всё остальное не важно, можно даже не изменять дату, а просто сравнить)

    Неожиданная проблема такая ... Может проще батарейку сменить?
     
    Получая точное время от внешнего компа, ИМХО, можно только обновить локальное. А получить, посмотреть, подумать - не получится. ИМХО.
    Если по локальной сети, то для этого существует команда

    Код:
    net <имя_сервера_с_точным_временем> /time /set

    Т.е. можно попробовать обыграть ситуацию - запоминаешь локальное время, запрашиваешь обновление времени извне, новое локальное время сравниваешь с запомненным, устанавливаешь то, что тебе надо (батников по обработке - сравнению, изменению времени здесь приведено не мало).

    Всего записей: 49 | Зарегистр. 09-11-2006 | Отправлено: 17:13 25-08-2009
    tolyn77



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

    Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 17:19 25-08-2009
    D77

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалста, задача - примитивная, но сам не справлюсь
    Как с помощью bat-ника  имя папки  
    "D:\1C\db" поменять на "D:\1C\db_дата_время"

    Всего записей: 184 | Зарегистр. 16-11-2003 | Отправлено: 17:57 25-08-2009
    Alukardd



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

    Цитата:
    Подскажите пожалста, задача - примитивная, но сам не справлюсь  
    Как с помощью bat-ника  имя папки  
    "D:\1C\db" поменять на "D:\1C\db_дата_время"

    эт точно было в этой теме! я бы сказал даже несколько раз.. на какой из 640 странпц точно не скажу, но гугл тя выведет на этот форум... исчи!

    Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 18:24 25-08-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tolyn77
    Можно так, но я не уверен, что сработает в любой версии:

    Код:
     
    @echo off
    setlocal
     
    for /f "tokens=1,2 delims==" %%i in ('wmic os get caption^,version /value ^| findstr "="') do (
           set "%%i=%%j"
    )
    echo %caption%
    echo %version%
     

     
    Или так, работает везде, но менее информативно:

    Код:
     
    @echo off
    setlocal
     
    for /f "tokens=*" %%i in ('ver') do set "version=%%i"
    echo %version%
     

     
    И третий вариант:

    Код:
     
    @echo off
    setlocal
     
    for %%i in (os version) do (
        for /f "tokens=2 delims=()" %%j in ('netsh diag show %%i') do (
              set "%%i=%%j"
        )
    )
    echo %os%
    echo %version%
     

     
    Выбирай.
     
     
    Добавлено:
    D77

    Код:
     
    @echo off
    set postfix=%date%_%time:~0,-3%
    ren "D:\1C\db" "D:\1C\db_%postfix::=-%"
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 21:39 25-08-2009
    tolyn77



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    спасибо второй вариант вполне устраивает, а вот как бы вырезать только цифра от куда?
    ну например вместо Microsoft Windows XP [Версия 5.1.2600]
    получить 5.1.2600
    а еще как можно сделать проверку на содержимое (XP) в переменной (Microsoft Windows XP [Версия 5.1.2600])?

    Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 08:09 26-08-2009 | Исправлено: tolyn77, 09:30 26-08-2009
    01MDM



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

    Цитата:
    получить 5.1.2600  


    Код:
     
    @echo off
    setlocal
     
    for /f "tokens=2 delims=[]" %%i in ('ver') do (
          for %%i in (%%i) do set "version=%%i"
    )
    echo %version%
     


    Цитата:
    а еще как можно сделать проверку на содержимое (XP) в переменной (Microsoft Windows XP [Версия 5.1.2600])?

    Не совсем понял где это нужно сделать?

    Код:
     
    ver | findstr "XP" 1>nul && echo XP || echo Not XP
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 09:45 26-08-2009
    oshizelly



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bredonosec
    Цитата:
    нет, название службы (под которым она в списке служб будет), имя файла и параметры.

    Спасибо. На всякий случай уточню, что речь идет не о службе, а о самом обычном пользовательском приложении (в данном случае почтовом клиенте). Как я понимаю, это не влияет?

    Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 10:27 26-08-2009
    tolyn77



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    спасибо
    подскажи плиз что не так сделал?
    psexec %1 -s ver | findstr "XP" 1>nul && echo XP || set windir=c:\winnt
    в любом случаи отрабатывает set windir=c:\winnt, хоть XP хоть 2000

    Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 11:13 26-08-2009 | Исправлено: tolyn77, 11:22 26-08-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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 7
    vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru