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

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

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

vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

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





    http://forum.ru-board.com/topic.cgi?forum=62&topic=17154

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 23:07 04-11-2008 | Исправлено: vu1tur, 11:38 26-05-2009
    isk rus

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добро времени!
    Задача: вывод системного сообщения (Casker=MsgBox("...",48,"..."))*.VBS через заданный промежуток времени (2 месяц).
    Как правильно организовать батник, добавляющий в менеджер расписаний задачу о выполнении заранее скопированного  файла *.VBS и запуске его через заданный промежуток времени?

    Всего записей: 1 | Зарегистр. 05-11-2008 | Отправлено: 05:22 05-11-2008
    mouser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день.  
    Помог мне код по отниманию дней с учётом высокостного года "http://forum.ru-board.com/topic.cgi?forum=62&bm=1&topic=9040&start=647&limit=1"
     
    Вопрос: как организовать добавление ???

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 14:00 05-11-2008
    sanprocenko

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток.
    Нужно выполнить команду на удаление записи в реестре в определенное время.  
    Заранее спасибо.

    Всего записей: 9 | Зарегистр. 26-03-2008 | Отправлено: 16:07 05-11-2008
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    sanprocenko
    reg delete /?
    и любой планировщик, хоть встроенный в систему

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 18:22 05-11-2008
    Froz



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    sanprocenko,
     
    Удаляем ветку реестра в 00:36
     
    at 00:36 reg delete HKLM\Software\MyPrg /f

    Всего записей: 161 | Зарегистр. 03-02-2004 | Отправлено: 18:40 05-11-2008
    sanprocenko

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Все супер, но если мне надо, чтобы она удалилась через 3 месяца???
    Очень нужно, помогите пожалуйста.
    Как вариант, можно создать проверку даты. Допустим, если сегодня 12.12.08, тогда удалить ветку в реестре. Батник кинуть в атозагрузку.
    Как именно написать не знаю, помогите....

    Всего записей: 9 | Зарегистр. 26-03-2008 | Отправлено: 19:33 05-11-2008
    Elroir



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

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 01:00 06-11-2008
    MGrom



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день  
     
    Хочу написать батник, который будет в искать в папке файлы с определёнными словами и при нахождение, копировать файлы в другую папку.  (нужно чтобы find искал только в файлах за последний день)
       
    Как связать найденное find’ом и отправить результат команде copy?  
     
    Обычным (|) не обойтись.  
     
    Я подозреваю что нужно использовать For .  
     
    Помогите разобраться

    Всего записей: 15 | Зарегистр. 24-01-2007 | Отправлено: 14:46 06-11-2008
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MGrom
    Задай вопрос конкретнее - приведи пример того, что тебе надо сделать

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 16:04 06-11-2008
    stydik



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужно на машины в сети вывести ярлыки, т.к. с батником у меня не получилось решил создать скрипт
     
    // Option Explicit
    Dim oShell, oShortCut, sDeskTopPath
    Set oShell = CreateObject("Wscript.Shell")
    sDeskTopPath = oShell.SpecialFolders("AllUsersDesktop")
    Set oShortCut = oShell.CreateShortcut(sDeskTopPath & "\123.lnk")
    oShortCut.TargetPath = "v:\1\1.bat"
    oShortCut.Save //
     
    Он добавляет с сетевого диска V ярлык мне на рабочий стол. А как бы это сделать с машинами в сети (чтоб ярлыки добавились) ???????

    Всего записей: 1509 | Зарегистр. 03-03-2008 | Отправлено: 16:13 06-11-2008
    mouser

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

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 19:14 06-11-2008
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mouser
    Тот код надо полностью переделывать под добавление.
    Проще воспользоваться этим решением - http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=760#17

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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 19:48 06-11-2008
    timsky



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет. Послали меня сюда к вам, как одним из сильнейших в моей проблеме.
    Говорят, что здесь сильные перцы водятся
     
    Конфигурация проблемы:
     
    1) Есть комп, на нем Windows Server 2003 Ent EN SP2 x86. Он работает в качестве обычного компа, нет ни IIS, ни БД, ничего. Включен звук, стоят дрова для видяхи... как домашний комп вобщем. Но ничего лишенго вроде игр, постороннего софта на нем не запускаем, только нужное.
    На нем работает одна стороняя служба, которая при определенных условиях запускает мою прогу № 1:
     
    2) Прога № 1 является лаунчером для другой моей проги № 2. Она запускает ее от имени Администратора, т.к. она должна работать не под учеткой SYSTEM, а под любым другим нормальным юзером/админом.
     
    2-ю прогу описывать смысла нет, т.к. она не является причиной проблемы.
     
    Проблема такая:
     
    Служба запускает мою прогу № 1, которая стартит прогу № 2, но только 32 раза! На 33 раз прога № 1 обламывается. Т.е. процесс, работающий под учеткой SYSTEM может запустить другую аппликуху под другой учеткой не более 32 раз
     
    Проверил так: накатал прогу, которая каждую минуту запускает такой батник:
    at {ЧАС}:{МИН} /interactive C:\test\Log.exe
    ... т.е. в шедулер добавляется задание, которое исполняется с правами SYSTEM.
     
    Log.exe - это прога № 1, которая в случае успешного запуска проги № 2 пишет лог, если не успешный запуск, то она каждую секунду пытается это сделать... безуспешно.
     
    Если сделать logoff/logon или ребутнуть комп, то все снова работает, но не более 32 раз ((
    В чем проблема, где ковырять? Уже все, что можно было в политках наковырял.
     
    Добавлено:
    Как только начинается глюк пробовал сделать это ручками:
    Зашедулил запуск CMD.exe, чтобы он был у меня с правами SYSTEM и в нем пробовал юзать стандартную runas.exe:
     

    Цитата:
    runas /noprofile /user:server\administrator "c:\test\Log.exe 123"

     
    Получаю следующую ошибку:

    Цитата:
    RUNAS ERROR: Unable to run - c:\test\Log.exe 123
    5: Access is denied.

     
    Причем, если запускать аппликухой (моей прогой или CMD.exe), работающей под Администратором, то все срабатывает.

    Всего записей: 2283 | Зарегистр. 08-06-2004 | Отправлено: 20:15 06-11-2008
    stydik



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

    Код:
    psexec -d -s -i \\mycomp wscript.exe  V:\1\1.vbs

     
    Показую 1.vbs (вывод ярлыка на раб. стол машины в сети)
     

    Код:
     Option Explicit
    Dim oShell, oShortCut, sDeskTopPath
    Set oShell = CreateObject("Wscript.Shell")
    sDeskTopPath = oShell.SpecialFolders("AllUsersDesktop")
    Set oShortCut = oShell.CreateShortcut(sDeskTopPath & "\123.lnk")
    oShortCut.TargetPath = "P:\odb\updateodb.cmd"
    oShortCut.Save  

     
     
    Так вот первый скрипт должен отработать второй (я прописал свою машину) но комп ругается . Пишет "Не удается найти файл сценария "V:\1\1.vbs" Где обшибся ????
     
     

    Всего записей: 1509 | Зарегистр. 03-03-2008 | Отправлено: 21:01 06-11-2008
    mouser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    дык ... а как его в другой формат сконвертировать  
    выдает DD.MM.YYYY
    а надо YYYYMMDD

    Всего записей: 800 | Зарегистр. 10-11-2006 | Отправлено: 10:06 07-11-2008
    Collapse Troll

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Здравствуйте!
     
    Помогите пожалуйста с таким вопросом:
     
    формирую название файла по дате и по времени. Как получать дату, независимо от региональных настроек взял в этой же ветке. вот, если кому пригодится:
     

    Код:
    rem получение системной даты в универсальном формате, независимо от региональных настроек
    echo.>"%TEMP%\~.ddf"  
    makecab /D RptFileName="%TEMP%\~.rpt" /D InfFileName="%TEMP%\~.inf" -f "%TEMP%\~.ddf">nul  
    for /f "tokens=4,5,7" %%a in ('type "%TEMP%\~.rpt"') do if not defined _current-date set "_current-date=%%c-%%a-%%b"  
    echo Date is %_current-date%...
    del /q "%TEMP%\~.*"

     
    возникла проблема со временем. Вырезаю часы и минуты из переменной %time%(в ней будет к примеру "10:15:49,12") так:

    Код:
    %time:~0,2%
    %time:~3,2%

    Если время будет к примеру "10.15", то все хорошо, а если "9.15", то я этим вырезанием попадаю на двоеточие, и соответсв-но все валится. Можно как-то получить время в стандарте "09:15", или как-то хитро вырезать до первого двоеточия(час) и от первого до второго двоеточия(минута)?
     
    Добавлено:
    mouser
    Так используйте переменные и составляйте из них дату в нужном вам формате. К примеру так:

    Код:
    echo off
     
    set _date=DD.MM.YYYY
    echo %_date%
     
    set _year=%_date:~6,10%
    set _month=%_date:~3,2%
     
    echo %_year%.%_month%
     
    pause

    Всего записей: 718 | Зарегистр. 05-08-2006 | Отправлено: 12:10 07-11-2008 | Исправлено: Collapse Troll, 12:25 07-11-2008
    MGrom



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

    Цитата:
     
    MGrom  
    Задай вопрос конкретнее - приведи пример того, что тебе надо сделать
     

     
     
    Мне нужно, чтобы батник искал в определённой папке файлы который содержат слово (например, Привет). После того как пройдёт поиск, все файлы содержащие это слово должны скопироваться в отдельную директорию.  
     
    Передать с команды find на команду copy с помощью | не получается.  
    т.к. на выходе финд даёт имена файлов вместе со строками или ещё какими-нибудь параметрами, что copy не понимает.  
     
    Может кто сталкивался с похожей задачкой?

    Всего записей: 15 | Зарегистр. 24-01-2007 | Отправлено: 12:32 07-11-2008
    Froz



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Collapse Troll
     
    Добавляем лидирующий ноль если час меньше 10
    if %time:~0,2% lss 10 set time=0%time:~0,2%

    Всего записей: 161 | Зарегистр. 03-02-2004 | Отправлено: 13:16 07-11-2008
    Collapse Troll

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

    Всего записей: 718 | Зарегистр. 05-08-2006 | Отправлено: 13:29 07-11-2008
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 6
    vu1tur (26-05-2009 11:39): часть 7 — http://forum.ru-board.com/topic.cgi?forum=62&topic=17154#1


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru