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

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

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

    Код:
     
    for /f "tokens=*" %%a in ('tasklist') do (
      echo %%a
    )
     

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 08:12 02-05-2009
    Maza_Faka



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

    Цитата:
    как можно узнать запущен ли заданный процеес или нет


    Код:
     
    Tasklist | Find /I "process.exe">Nul && Echo Process is exist || Echo Process not exist
     

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:45 02-05-2009
    wolf0425



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

    Код:
    tasklist | find /i "RedVex32.exe" >nul || start "" RedVex32.exe -hide -run

    а вывести многострочный листинг в переменную - как ты это себе представляешь? склеить строки?

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 10:29 02-05-2009 | Исправлено: wolf0425, 10:34 02-05-2009
    vitaliy91

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо всем, пример wolf0425 какраз подошел
     
    P.S.:

    Цитата:
     
    а вывести многострочный листинг в переменную - как ты это себе представляешь? склеить строки?
     

     
    Имел в виду так:

    Цитата:
     
    >tasklist /fi "imagename eq explorer.exe" /fo csv /nh
     
    "explorer.exe","1500","","0","28 020 КБ"
     
     

    Всего записей: 37 | Зарегистр. 16-11-2008 | Отправлено: 15:15 02-05-2009 | Исправлено: vitaliy91, 15:16 02-05-2009
    zhnec777

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите с написанием программы. Условие:
     
    В некотором файле хранится список пользователей ПК и имя их домашних каталогов. Необходимо разработать программу, которая просматривает данный файл и в интерактивном режиме задаёт вопрос - копировать текущему пользователю (в его домашний каталог) какой-либо заданный файл (в качестве параметра) или нет. Если "да", то программа копирует файл.
     
    Заранее ОГРОМНОЕ спасибо всем.

    Всего записей: 2 | Зарегистр. 03-05-2009 | Отправлено: 07:49 03-05-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zhnec777
    Формат файла произвольный? Допустим:

    Код:
     
    Comp1,User1
    Comp2,User2
    ...
     
     
     

    Код:
     
    @echo off
    setlocal
     
    for /f "tokens=1,2 delims=," %%i in (list.txt) do call:choice "%%i" "%%j"
    goto:eof
     
    :choice
    set "choice=y"
    set /p choice="Copy file file.ext to user %~2 [Y/n]: "
         
        if /i %choice%==n goto:eof
        if /i %choice%==y (
            echo copy "file.ext" "%~1\User\%~2\Some Folder"
        ) else (
            echo Wrong choice && goto:choice
        )
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 10:47 03-05-2009
    zhnec777

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    ОГРОМНЕЙШЕЕ СПАСИБО ВАМ.




    спасибы — в ПМ!

    Всего записей: 2 | Зарегистр. 03-05-2009 | Отправлено: 16:21 03-05-2009 | Исправлено: vu1tur, 16:23 03-05-2009
    lorents



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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 16:43 03-05-2009
    basstard

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

     
    для запуска создать ярлык:

    Код:
    %systemroot%\system32\schtasks.exe /run /tn <имя задания>

    если задача была создана не в корне планировщика, а в какой-нибудь папке
    (можно свою создать), то добавить путь:

    Код:
    %systemroot%\system32\schtasks.exe /run /tn \<путь>\<имя задания>
    например:
    %systemroot%\system32\schtasks.exe /run /tn \MyTasks\SendMail

     
    Добавлено:
    01MDM
     
    "choice" не является внутренней или внешней  
    командой, исполняемой программой или пакетным файлом.  
    Не везде он есть.

     
    ping тоже не везде: в Windows Fundamentals for Legacy PC's его точно нет,
    наверно где-нибудь еще.. хотя все уже привыкли —
    все равно будут ping'ом пользоваться

    Всего записей: 58 | Зарегистр. 05-08-2008 | Отправлено: 20:39 03-05-2009
    lorents



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

    Цитата:
    task sheduler умеет:  

    а если его нет на компьютере?
    можно ли без дополнительных программ?

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 21:04 03-05-2009
    basstard

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents,
     
    а если его нет на компьютере?
    тогда это компьютер под управлением Linux…
     
    попробуй запустить командную строку от имени Администратора и набрать

    Код:
    %windir%\system32\taskschd.msc /s


     
    если вдруг не получится, то:

    Код:
    %systemroot%\system32\mmc.exe %systemroot%\system32\taskschd.msc

    я конечно дико извиняюсь, если его действительно не окажется, но вроде бы такого не бывает..

    Всего записей: 58 | Зарегистр. 05-08-2008 | Отправлено: 21:46 03-05-2009 | Исправлено: basstard, 21:48 03-05-2009
    lorents



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    а можно без использовании дополнительных программ, мне надо чтобы это работала на все виндах начиная с 98-ого

    Цитата:
    попробуй запустить командную строку от имени Администратора и набрать  

    ничего не вышло,
     
    Добавлено:
    а можно готовый промер через task sheduler

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 22:00 03-05-2009
    basstard

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

    Всего записей: 58 | Зарегистр. 05-08-2008 | Отправлено: 22:17 03-05-2009
    lorents



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

    Цитата:
    а что за программа? она сама может поддерживать запуск с параметрами,  

    не совсем понял какая программа?
    а можно ли сделать все тоже самое через ярлык? я просто знаю как сделать все кроме прикрепить файл?

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 22:25 03-05-2009
    basstard

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    не совсем понял какая программа?
    твой почтовый клиент, может ему можно дать задание,
    и запустив с параметром заставить выполнить
     
    есть еще “blat”
    он специально для этого предназначен

    Всего записей: 58 | Зарегистр. 05-08-2008 | Отправлено: 23:19 03-05-2009
    lorents



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

    Цитата:
    есть еще “blat” —

    хорошая вешь, но сейчас не подходит, мне надо запусти почтовик, который стоит по умолчанию

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 23:25 03-05-2009
    basstard

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents,
    хорошая вешь, но сейчас не подходит
    ты уверен? — только что его потестил, и он со всем справился!
     
    вот простейший скрипт для отправки почты:

    Код:
    @echo off
    setlocal enabledelayedexpansion
    rem ============================================================================
    set message=<путь к файлу с текстом сообщения>
    set toname=<адрес получателя, напр. friend@mail.ru>
    set subject=<тема сообщения>
    set serverSMTP=<сервер SMTP, напр. smtp.mail.ru>
    set fname=<адрес отправителя, напр. user@mail.ru>
    set portSMTP=<порт SMTP, по умолчанию 25>
    set uname=<имя пользователя, напр. user@mail.ru>
    set pword=<пароль к ящику, напр. MySuperSecretPassword>
    set attach=<путь к присоединенному файлу>
    rem ============================================================================
    cd "%~dp0"
    blat !message! -to !toname! -subject !subject! -serverSMTP !serverSMTP! -f !fname! -portSMTP !portSMTP! -u !uname! -pw !pword! -attach !attach!
    exit

    положить в одну папку с blat'ом, все что в <уголках> заменить на значения,
    если файл с текстом сообщения и присоединенный файл в той же папке, что и blat и скрипт, то вместо путей можно просто имена указать.
     
    отличная оказалась штука! буду юзать

    Всего записей: 58 | Зарегистр. 05-08-2008 | Отправлено: 00:09 04-05-2009 | Исправлено: basstard, 00:10 04-05-2009
    lorents



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

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 08:35 04-05-2009
    Rush

    Уже за тридцать...
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    Тебе ж не надо доппрограмм.
    То же самое, что делает и блат, делается скриптом (wsh)...

    Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 13:25 04-05-2009
    mike345S



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lorents
    blat вроде не умеет ssl...
    есть что-то подобное, но с поддержкой ssl?
     
    Rush, можно пример скрипта?

    Всего записей: 550 | Зарегистр. 31-01-2006 | Отправлено: 14:04 04-05-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

    Компьютерный форум 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.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru