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

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

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Attid
    А тебе этот вариант не подойдет?
    Там и в архивчик складывается. Вчера сервер сдох из бэкапа все прекасно встало.

    Всего записей: 179 | Зарегистр. 18-11-2008 | Отправлено: 16:00 25-06-2009
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    slay1212
    Цитата:
    неправильно сказал условия
    а правильные условия вообще возможны?  
    Простой пример: с утра пораньше(для определенности в 8-00) юзер залогинился и был залогинен на 5 минут меньше чем разрешенное время, после чего методом вырубания электричества комп выключили и по новой включили и залогинили...
    Как ты будешь считать первый интервал? Надо ведь на основании чего-нибудь понять все время до второго логона юзер был залогинен или нет... Может быть комп вообще все это время был выключен...  
    Ну или если считаем в такой ситуации только последний логон то тогда вообще можно работать до бесконечности...


    ----------
    Всем непричастным рекомендую прогулки на свежем воздухе

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 16:31 25-06-2009
    vitaliy91

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можно ли какимто образом получить статистику исспользования иннета на удаленной машине ? типа как netstat только на удаленном

    Всего записей: 37 | Зарегистр. 16-11-2008 | Отправлено: 22:36 25-06-2009
    slay1212

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    yurkesha
     Не ну совсем правильный вариант более гемороен - писать общее время работы за день постоянно в файл <имя юзера><число месяц>, и время работы в текущем сеансе  
    (%min%) во временный файл t_tmp.txt . Ну или писать в %temp% тогда можно без имени юзера обойтись в имени файла - будет в его темп писаться. Ну вообще я планировал батником при логоне изера с пом schtasks создавать задание на запуск вышеприведенного батника через скажем 10 мин. В нем же можно проверить наличие двух файлов сложить из них время работы  в <числомесяц> и t_tmp.txt потом грохнуть. В принципе реализуемый подход
       Т.е. самому считать время работы юзера. Здесь имхо погрешность будет не больше времени перезапуска батника
    Батник примерно следущий  
    Подробнее...
     Ну и логоновский батник надо сделать.

    Всего записей: 336 | Зарегистр. 28-05-2008 | Отправлено: 09:36 26-06-2009 | Исправлено: slay1212, 12:46 26-06-2009
    alexander6161



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    slay1212
    Считать самому надёжнее, есть юзеры умные, которые не только кнопочкой могут компу рестарт сделать, но и часы умеют переводить. Раз ты так глубоко полез - не проще готовые прги поискать, которые время сеанса ограничивают? Так мне кажется намного надёжнее будет, чем батником. Батник и прибить можно, а прга не даёт себя прибить.
     
    Вот как вариант:
    http://www.dimonius.ru/?autostop
    А поищешь - может намного навороченнее найдёшь.

    Всего записей: 185 | Зарегистр. 17-08-2008 | Отправлено: 12:34 26-06-2009 | Исправлено: alexander6161, 12:36 26-06-2009
    slay1212

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    alexander6161
    Если
    Цитата:
    есть юзеры умные
    ничего не поможет ни батник ни твоя прога.
    Я пробовал проги мне не понравились - можно регулировать время вплоть до приложений, доступ в инет и пр., а время юзера нельзя. Мне остальное все не нужно - веб контроль и тп., нужно только время ограничить исходя из совсем непродвинутого юзера, поэтому и изобретаю велосипед. Далее не продолжаю ибо здесь это офтоп.
     Еще вопрос создаю задание для запуска под админом
     schtasks /create /sc minute /mo 10 /tn jobb1 /tr c:\tmp\5.cmd /F   /ru administrator /rp  
    1234
    в 5.cmd есть строчка.
     
     psloglist.exe -s -id 528 security -d 0 | find /i "Logon Type: 2"  > c:\tmp\syst.txt
     
     Задание создается батник запускается но процесс psloglist висит в процессах и не выполняется. Вместо 5.cmd  ставишь калькулятор или блокнот - аналогично - они не стартуют а в процессах висят. Работаю под дугим юзером с правами админа. w2k3  сервер. Где собака порылась? psloglist тоже лежит в c:\tmp права на папку полные для всех.
     

    Всего записей: 336 | Зарегистр. 28-05-2008 | Отправлено: 14:24 26-06-2009
    5ar5



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

    Цитата:
     
    Levitant  
     
    Цитата:
    по этому примеру приходится заменять сохранять фаил с другим именем
     
    Зачем? можно тот же выходной файл подставить:  
     
     
    Код:
    @echo off  
    :: Create the assembler program, by Herbert Kleebauer  
    echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=> %temp%.\sbs2.com  
    echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU!WvX0GwUY Wv;ovBX2Gv0ExGIuht6>> %temp%.\sbs2.com  
    echo ?@}IKuNWpe~Fpe?FNHlF?wGMECIQqo{Ox{T?kPv@jeoSeIlRFD@{AyEKj@>> %temp%.\sbs2.com  
    echo iqe~1NeAyR?mHAG~BGRgB{~H?o~TsdgCYqe?HR~upkpBG?~slJBCyA?@xA>> %temp%.\sbs2.com  
    echo LZp{xq`Cs?H[C_vHDyB?Hos@QslFA@wQ~~x}viH}`LYNBGyA?@xAB?sUq`>> %temp%.\sbs2.com  
    echo LRy@PwtCYQEuFK@A~BxPtDss@fFqjVmzD@qBEOEenU?`eHHeBCMs?FExep>> %temp%.\sbs2.com  
    echo LHsPBGyA?@xAunjzA}EKNs@CA?wQpQpKLBHv?s`WJ`LRCYyIWMJaejCksl>> %temp%.\sbs2.com  
    echo H[GyFGhHBwHZjjHeoFasuFUJeHeB?OsQH[xeHCPvqFj@oq@eNc?~}Nu??O>> %temp%.\sbs2.com  
    echo ~oEwoAjBKs?Zp`LBzHQzyEFrAWAG{EFrAqAGYwHTECIQ{coKIsaCsf{Oe~>> %temp%.\sbs2.com  
    echo CK}Ayre~CNFA{rAyEKFACrA{EKGAjbA}eKGSjNMtQFtc{OAyDGFj?{FDGQ>> %temp%.\sbs2.com  
    echo KAjNVk_OCAx@e?f{o?CosI}1EGizhljJ~H1ZeG}JBA~rACBMDGjjDG@g0>> %temp%.\sbs2.com  
    :: Use the program  
    %temp%.\sbs2.com 0 "2456" "3333" < "%appdata%\Opera\Opera\profile\opera6.ini" > "%appdata%\Opera\Opera\profile\opera6.ini"  
    :: Delete the program  
    del %temp%.\sbs2.com
     

     
    Народ помогите, по примеру выше не получается делать замену текста в файле. Перезаписываемый файл остается пустым. Работает только если изменить путь.
    Не могу понять, что делаю неправильно?

    Всего записей: 36 | Зарегистр. 23-02-2006 | Отправлено: 14:23 29-06-2009
    01MDM



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

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 15:44 29-06-2009 | Исправлено: 01MDM, 15:50 29-06-2009
    5ar5



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

    Всего записей: 36 | Зарегистр. 23-02-2006 | Отправлено: 19:38 29-06-2009 | Исправлено: 5ar5, 19:39 29-06-2009
    HaK1R



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    01MDM
    5ar5
    По-моему он сказал что
    Цитата:
    Перезаписываемый файл остается пустым
    а не то, что он его не может найти, наверное дело не в del

    Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 10:18 30-06-2009
    5ar5



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да дело не в del, я просто второй раз продублировал сообщение, вот и стер его - "del"
     
    Решение так пока и не нашел

    Всего записей: 36 | Зарегистр. 23-02-2006 | Отправлено: 11:06 30-06-2009
    anachrom

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    А есть возможность обрыва всех связий к файлу?
    Т.е. есть файл который нужно скопировать, а он занят приложением и по этому не дается. Так вот как-раз и нужно его освободить от гнета программы.

    Всего записей: 179 | Зарегистр. 18-11-2008 | Отправлено: 14:50 30-06-2009
    01MDM



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

    Цитата:
    наверное дело не в del

    Я удалил сообщение, вот и "del"
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 16:09 30-06-2009
    5ar5



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    anachrom
     
    Можно поподробнее на пальцах.
     
    Я так понимаю, что если путь одинаковый (т.е. я хочу в исходном файле поменять только одну строку), то sb2s.com просто пере создает его (естественно пустым) и оставляет его пустым потому что брать содержимое исходного файла просто уже не от куда...или я что-то не правильно понимаю?
     
    Просто во всех постах выше, где было упоминание sb2s.com путь рекомендуют делать другим, но вот в одном ViSiToR написал, что можно путь и не менять...
     

    Всего записей: 36 | Зарегистр. 23-02-2006 | Отправлено: 16:55 30-06-2009 | Исправлено: 5ar5, 17:19 30-06-2009
    Attid



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    anachrom
    я уже тоже самое сделал с нуля кроме удаления =) удаление доделаю и тогда туда же вынесу

    Всего записей: 77 | Зарегистр. 23-06-2003 | Отправлено: 18:26 30-06-2009
    HaK1R



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    5ar5
    01MDM
    извиняюсь, не понял

    Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 21:52 30-06-2009
    Dekabryi



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Доброе время суток .
    подскажите ПЛЗ
    FOR /F "tokens=1 delims=," %%i in (list.txt) do dsquery user -desc %%i* | find "CN"  & if errorlevel 1 echo 1 >> xlog.log
     
     
    нужен итог - либо запись которая найдена либо какое то значение
    Dsquery если не может найти по запросу то не возвращает не каких данных.
    и получается что получается бардак !
     
    Подскажите ПЛЗ

    Всего записей: 44 | Зарегистр. 29-05-2006 | Отправлено: 14:40 01-07-2009
    Elroir



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

    Код:
     
    FOR /F "tokens=1 delims=," %%i in (list.txt) do dsquery user -desc %%i* | find "CN"  && dsquery user -desc %%i* >>xlog.log || echo User %%1 not found>>xlog.log
     

    Не проверял.

    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 15:21 01-07-2009
    Dekabryi



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    выкрутился по другому  
     
    FOR /F "tokens=1 delims=," %%i in (list.txt) do dsquery user -desc %%i* | find "CN" >> newlog.log & if  errorlevel 1 echo 1 >> newlog.log
     
    В итоге: Если  значение полученно то идет запись его в newlog.log если нет то записывает в newlog.log 1

    Всего записей: 44 | Зарегистр. 29-05-2006 | Отправлено: 15:32 01-07-2009
    Starley25



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос: никто не пробовал командником или скриптом задавать на удаленной тачке сервису пользователя от имени которого он должен запускаться?

    Всего записей: 117 | Зарегистр. 07-03-2005 | Отправлено: 15:48 01-07-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