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

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

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

vu1tur (11-09-2007 15:22): продолжаем в теме Задачи на bat-файлах 4  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:54 27-04-2007 | Исправлено: Elroir, 03:59 10-09-2007
    NIKZZZZ



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

    Цитата:
    Значит получается без доп бинарников нельзя.Интересно -ещё один баг комстроки.


    Цитата:
    Баг (англ. bug — жук) — жаргонное слово, обозначающее ошибку в программе.

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

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 13:45 29-05-2007
    saturnatu



    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Доброго дня !
    Как с помощью батника узнать о наличии нового файла в каталоге.

    Всего записей: 9 | Зарегистр. 23-04-2007 | Отправлено: 14:01 29-05-2007 | Исправлено: saturnatu, 14:03 29-05-2007
    Maza Faka



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

    Цитата:
    Как с помощью батника узнать о наличии нового файла в каталоге

    Нового по дате, или по появлению в каталоге?
    Если по появлению, то можно так:
    создать список с имеющимися файлами, а спустя определённое время, сравнивать.
    В директории которую нужно проверять запускаешь батник с этим кодом один раз, что бы создать список файлов, а затем по мере надобности, для определения наличия нового файла:

    Код:
     
    @echo off
    for /f "tokens=*" %%a in ('dir /b /a:-d ^| findstr /v /g:tmp.txt 2^>nul') do echo new file %%a
    dir /b /o:-d>tmp.txt
    pause
     

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 14:40 29-05-2007 | Исправлено: Maza Faka, 14:44 29-05-2007
    saturnatu



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

    Всего записей: 9 | Зарегистр. 23-04-2007 | Отправлено: 15:28 29-05-2007
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите какую-нибудь консольную утилитку, дающую инфу по .avi файлам.
    в основном интересует время фильма...

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 19:13 29-05-2007
    euheny



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

    Цитата:
    А почему баг?

    Да потомучто то , что это не предусмотрено - без сомнения грубая недоработка возможностей комстроки , а значит можно сказать что баг . Моё мнение конечно .
    Вобщем оффтоп.

    Всего записей: 3930 | Зарегистр. 22-11-2006 | Отправлено: 03:45 30-05-2007
    ErroriST



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите пожалуйста как реализовать данную фичу.
     
    есть строка, выводящяя на экран какое либо слово, к примеру
    echo enter your password:
     
    нужно сделать, что бы при вводе этого самого пароля все буквы шли после ":"
    т.е. так
     
    enter your password: mypassword
     
    да и после ":" должен быть пробел.
     
     
    ..
    честно, нет времени читать весь топ, поэтому сильно не бейте

    Всего записей: 884 | Зарегистр. 02-01-2006 | Отправлено: 03:54 30-05-2007
    NIKZZZZ



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

    Код:
    set /p pass=enter your password :
    Echo pass - %pass%

     

    Цитата:
    да и после ":" должен быть пробел.

    Если должен, поставь его после ":"
     
     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 04:07 30-05-2007
    ErroriST



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    Спасибо большое! Очень выручил!

    Всего записей: 884 | Зарегистр. 02-01-2006 | Отправлено: 04:14 30-05-2007
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А как-нибудь встроенными средствами xp можно из батника определить - с какими аргументами был запущен экзешник (к батнику он никак не относится)?
     
    tasklist.exe может выдать всю информацию по подгруженным программой dll, но комстроку через него вытащить что-то не получается...

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 09:56 30-05-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    wolf0425
    Если екзешник запускается из батника - то можно формировать аргументы в переменную и подставлять - тогда будешь знать

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:17 30-05-2007
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel экзешник запускается из независимого батника или из меню Start/Run или копией текущего батника.
    Причем интересует не просто найти в процессах экзешник, а именно определить - с какими же параметрами он был запущен (не с похожими ли на те, что при запуске из этого батника).
     
    внешней утилитой узнать аргументы запуска процесса - проблем нет, но не хотелось бы таскать левые утилиты за батником.

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 10:54 30-05-2007 | Исправлено: wolf0425, 10:58 30-05-2007
    igor_andreev

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

    @echo off
     
    > tmp.vbs echo Set Procs = GetObject("winmgmts://localhost")  
    >>tmp.vbs echo Set Processes = Procs.ExecQuery("select * from Win32_Process")  
    >>tmp.vbs echo For Each i In Processes  
    >>tmp.vbs echo WScript.Echo i.Name ^& " " ^& i.CommandLine  
    >>tmp.vbs echo Next  
     
    cscript tmp.vbs & del tmp.vbs


    Всего записей: 1673 | Зарегистр. 08-12-2004 | Отправлено: 11:00 30-05-2007
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev а может можно не писать временный файл, а запихнуть .vbs часть в тело самого командника?
    видел (но не вспомнил - где) такой финт для задержки через jscript - наверно ж и для vbscript можно?

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 13:01 30-05-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    wolf0425
    А смысл?
    Все таки батнички в основном предназначены для вызова внешних утилит и некоторой обработки взаимодействия между ними?
    Таскаешь батничек (пару тройку нужных утилит к ним)  - не самое страшное событие в жизни

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:06 30-05-2007
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel смысл инкапсуляции - чтобы не мусорить на чужом компе лишний раз. даже подтирая за собой. Да и прав на запись может случайно не найтись.
     
    этих утилит у меня и так таскается 18Мб (плюс ещё столько же плагинов), так что pv.exe (61кб) мне погоду не делает - но ведь предлагать всем таскать его (или готовый vbs) вместе с батником - несколько нехорошо...

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 13:36 30-05-2007 | Исправлено: wolf0425, 13:37 30-05-2007
    KapralBel



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

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

    А как туда батничек попадет?
    СД/ДВД/Флэш - не подойдут и запуск с них?
     

    Цитата:
    о ведь предлагать всем таскать его (или готовый vbs) вместе с батником - несколько нехорошо...  

    А что 61к - это как-то критично по объему свободного места? или тяжелей дискета с батничком станет??
    Не выдумывайте себе проблемы
    Пока простые задачи - это можно и на батничках, а если потруднее - то без сторонних утилит и не обойдешься

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:41 30-05-2007
    wolf0425



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

    Цитата:
    А что 61к - это как-то критично по объему свободного места?  

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

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 13:51 30-05-2007 | Исправлено: wolf0425, 13:54 30-05-2007
    igor_andreev

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

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

    В %temp% писать можно всегда, любому юзеру. И погадить туда всегда приятно Ты для переносного фара батник пишешь?

    @echo off  
     
    > "%temp%\tmp.vbs" echo Set Procs = GetObject("winmgmts://localhost")  
    >>"%temp%\tmp.vbs" echo ColProcess = "'Far.exe'"  
    >>"%temp%\tmp.vbs" echo Set Processes = Procs.ExecQuery("select * from Win32_Process Where Name = " ^& ColProcess)  
    >>"%temp%\tmp.vbs" echo For Each i In Processes
    >>"%temp%\tmp.vbs" echo WScript.Echo i.CommandLine  
    >>"%temp%\tmp.vbs" echo Next  
     
    cscript "%temp%\tmp.vbs" //nologo | find /i "что надо"
    del "%temp%\tmp.vbs"

    У мну был такой батник, полностью по другому правда работал и поболе функциональности. Он полностью  подменял все записи в реестре, еще устанавливал Colorer, BgCopy, запускался с нужными параметрами консольного окна в зависимости от разрешения экрана(80x25 ф топку). Параметры консольного окна в твой батник прям просятся.

    Цитата:
    чего делать при отсутсвии красивого решения

    Потом я на батник и флешки забил и пошел по пути технического прогресса . Мое красивое решение - у меня уж второй год в качестве 60-80 Гб флешки - маленькие килограмовые ноуты Sony(Фар стоит ессно), в папке с собой таскаю. И в двух офисах, на складе и дома везде ноуты и WI-FI, куда бы ни пришел - моя "флешка" всегда автоматом в сети, видит другие компы, к принтеру и инету подключена Удобная схема, рекомендую. По финансам единственно не всем конечно доступна, ноуты обычно подороже стационарников стоят

    Всего записей: 1673 | Зарегистр. 08-12-2004 | Отправлено: 14:17 30-05-2007 | Исправлено: igor_andreev, 14:25 30-05-2007
    wolf0425



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

    Цитата:
    У мну был такой батник, полностью по другому правда работал и поболе функциональности.  
    и где на него можно сейчас посмотреть?
    вопрос чисто познавательный - ни Colorer ни BCopy я таскать не собираюсь.
     
    а окно, стартующее в 80х25 - УДОБНО. потому что из него ФАР сам очень замечательно разворачиватеся на весь экран автостартующей макрой, подстраиваясь под разрешение
    вот бы ещё ConEmu.exe умел стартовать принудительно в 80х25...
     

    Цитата:
    меня уж второй год в качестве 60-80 Гб флешки - маленькие килограмовые ноуты Sony

    не, не катит:
    у меня дежурная задача для PortableFAR.cmd - запуск ФАРа по сети на чужом компе, чтоб мне там было комфортно чего-то администрить.
    причем работаю там когда под своим аккаунтом, когда и под хозяйским - права разные.

    Всего записей: 2920 | Зарегистр. 25-04-2007 | Отправлено: 14:35 30-05-2007
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Закладки » Задачи на bat-файлах 3
    vu1tur (11-09-2007 15:22): продолжаем в теме Задачи на bat-файлах 4


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru

    Рейтинг.ru