Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 6

Автор: basstard
Дата сообщения: 04.05.2009 17:31
ну вот, полноценный скриптик для отправки почты:

Код: @echo off
setlocal enabledelayedexpansion
rem ============================================================================
rem ---- Путь к файлу с текстом сообщения ------------------
set message=message.txt
rem ---- Тема в кавычках -----------------------------------
set subject="тема сообщения"
rem ---- Адрес отправителя ---------------------------------
set fname=user@mail.ru
rem ---- Имя пользователя ----------------------------------
set uname=user@mail.ru
rem ---- Пароль к ящику ------------------------------------
set pword=MySuperSecretPassword
rem ---- Сервер SMTP ---------------------------------------
set serverSMTP=smtp.mail.ru
rem ---- Порт SMTP -----------------------------------------
set portSMTP=25
rem ============================================================================
color 1f
cd "%~dp0"
set /a totalcount=0
set onelist=not_exist
for %%j in ("%~dp0list-*.txt") do (
    set /a totalcount=!totalcount!+1
    set onelist="%%j"
)
if !totalcount!==0 (
    cls
    echo.
    echo Ни одного списка адресов не найдено.
    echo.
    pause
    exit
)
if !totalcount!==1 (
    set maillistchoice=!onelist!
    goto attachline
)
cls
echo.
echo Укажите список адресов, по которым следует отправить сообщение:
echo.
set /a listcount=0
for %%i in ("%~dp0list-*.txt") do (
    set /a listcount=!listcount!+1
    if !listcount! leq 10 (
        set filename=%%~ni
        set listname=!filename:~5!
        set /a listnum=!listcount!-1
        set maillist{!listcount!}="%%i"
        echo     !listnum! - !listname!
        set choiceargument=!choiceargument!!listnum!
        if !listcount!==1 (
            set choiceargument=!listnum!
        )
    )
)
echo.
cd .
choice /c !choiceargument! /n /m "Введите цифру, соответствующую вашему выбору..."
set /a listchoice=!errorlevel!
set maillistchoice=!maillist{%listchoice%}!
:attachline
set attachlist=
set /a attachcount=0
if not {%1}=={} (
    for %%g in (%*) do (
        set /a attachcount=!attachcount!+1
        set attachlist=!attachlist!,%%g
        if !attachcount!==1 (
            set attachlist= -attach %%g
        )
    )
)
cd "%~dp0"
cls
blat !message! -tf !maillistchoice! -subject !subject! -serverSMTP !serverSMTP! -f !fname! -portSMTP !portSMTP! -u !uname! -pw !pword!!attachlist!
echo.
pause
exit
Автор: lorents
Дата сообщения: 04.05.2009 17:34
Rush
о спасибо,
здесь выходит без дополнительных программа, правильно?

Цитата:
А в чем проблемы с надежностью?

+1

basstard
это же ведь тоже без дополнительных программ?
Автор: basstard
Дата сообщения: 04.05.2009 17:43
lorents
это же ведь тоже без дополнительных программ?

нет, это скрипт для blat.exe
Автор: Uraanfgh56
Дата сообщения: 04.05.2009 19:57
Доброго времени суток.

Возможно ли написать скрипт для рассортировки файлов ( в моём случае-это архивы с программами) по разным папкам ?

Сам я не разбираюсь в программировании, поэтому и написал здесь.

Единственно я так понимаю для рассортировки по разным папкам в файле (внутри файла-архива) должен быть какой-то идентификатор (буква, цифра), который будет батником сопостовляться с идентификатором внутри папки и соответственно перемещать файл в нужную папку. Хотя возможно я и не прав.
Автор: Rush
Дата сообщения: 04.05.2009 23:20

Цитата:
А в чем проблемы с надежностью?

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

Добавлено:
lorents

Цитата:
здесь выходит без дополнительных программа, правильно?

Правильно.
Автор: Maza_Faka
Дата сообщения: 05.05.2009 06:38
Uraanfgh56

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

Может будет проще создавать папки с именем архивов и перемещать в них архивы?
Автор: king_stiven
Дата сообщения: 05.05.2009 07:05
Uraanfgh56
Звучит типа сделай то не знаю что.Сначала определись с сортировкой и выложи примеры что имеешь и что хочется.
Автор: lorents
Дата сообщения: 05.05.2009 07:08
Rush
а можно отдельно сделать, чтобы вызывалась программа для отправки писем (например Microsoft Office Outlook), которая стоит по умолчанию у юзера, с введенными темой, прикрепленным файлом и т.д.?
Автор: wolf0425
Дата сообщения: 05.05.2009 09:52
lorents можно. sendm.exe найти удалось тут
http://softsearch.ru/programs/11-100-file2mail-versija-download.shtml

не знаю как оффисным аутлюком, а у экспресса начиная с какой-то версии при создании таким методом писем выпрыгивает запрос от безопастности - типа ты это на самом деле хочешь отправить или это вирус шалит.
Автор: triano
Дата сообщения: 05.05.2009 11:34
Доброго времени суток!
Проблемка такая: написал bat-файл из которого выполняется сценарий подключения к ftp- серверу и перрегонки файлов туда и обратно. Хотелось бы ещё чтобы при копировании файлов отображался индикатор копирования в виде точек или чёрточек или отображался процент выполнения.
Какими командами это можно сделать?
Автор: Rush
Дата сообщения: 05.05.2009 12:59
lorents

Цитата:
а можно отдельно сделать, чтобы вызывалась программа для отправки писем (например Microsoft Office Outlook), которая стоит по умолчанию у юзера, с введенными темой, прикрепленным файлом и т.д.?

Ну ты, наверное, читал на форуме ММВ, я там давал пример. Но без аттача. Аттач стандартно для всех прог не крепится.

Код: mailto:адрес?cc=кому_копию;2-ю_копию;и_т.д.&subject=тема&body=текст_сообщения
Автор: igor_andreev
Дата сообщения: 05.05.2009 15:30
triano
в фтп-скрипте напиши hash
Автор: lorents
Дата сообщения: 05.05.2009 15:52

Цитата:
Ну ты, наверное, читал на форуме ММВ, я там давал пример. Но без аттача. Аттач стандартно для всех прог не крепится.

если честно то не читал, но как сайт откроется прочту

Цитата:
mailto:адрес?cc=кому_копию;2-ю_копию;и_т.д.&subject=тема&body=текст_сообщения

это я знаю, значит с прикрепить ничего не выйдет, ну ладно
Автор: Bratella
Дата сообщения: 06.05.2009 11:44
Помогите плиз.

Есть программка которая инсталлируется с сетевой шары \\server\my program
Эта программа использует ключики при запуске для автоатизации.
Хочу написать батник которые ее запускает с конкретными ключиками

\\server\my program\program.exe /K1 /K2

Но она не хочет запускаться. Так как текущая папка с:\doc ...
А сменить папку на сетевую шару не могу, так как команда Cd не понимает ковычки, и это не срабатывает:

cd "\\server\my program\"
program.exe /K1 /K2

Как обойти это ограничение ?
Автор: smirnvlad
Дата сообщения: 06.05.2009 13:19
Bratella

Цитата:
Как обойти это ограничение ?


можно сразу писать


Код: "\\server\my program\program.exe" /K1 /K2
Автор: 01MDM
Дата сообщения: 06.05.2009 13:33
Bratella
А это не работает?

Код:
pushd "\\Server\folder"
program /key1 /key2
popd
Автор: Uraanfgh56
Дата сообщения: 06.05.2009 13:55
Maza_Faka

Тут смысл немного другой - нужно рассортировать архивы программ, которые относятся к разным категориям, т.е все вперемешку - органайзеры, браузеры, проигрыватели и т.д . и т.п по папкам - архивы где органайзеры в одну папку-"органайзеры", проигрыватели в папку "проигрыватели" и т.д и т.п , вот для этих целей и нужна автоматизация bat-ком или еще чем-то другим ...
Автор: Bratella
Дата сообщения: 06.05.2009 14:46
smirnvlad

Цитата:
можно сразу писать

-так не получается, так как проге нужны файлы в дириктории.


Цитата:
не батник, а например .vbs

то что надо.

01MDM

pushd
popd
интересные команды, даже не знал о таких

Добавлено:
Спасибо
Автор: Maza_Faka
Дата сообщения: 06.05.2009 15:34
Uraanfgh56

Цитата:
по папкам - архивы где органайзеры в одну папку-"органайзеры", проигрыватели в папку "проигрыватели" и т.д и т.п

Да? А как обьяснить батнику, что файл в архиве - это органайзер, а не проигрыватель
Автор: Uraanfgh56
Дата сообщения: 06.05.2009 18:13
Maza_Faka

Как вариант - я уже писал выше - добавить в имя архива ( в начало или в конец) "некий" идентификатор, скажем если в архиве органайзер - букву "О" или "Орг", или если проигрыватель - букву "П" или "Про" и т.п. , или в комментарии архива такие же иденфикаторы (хотя я думаю такой вариант вряд ли реализуем), по которым будет ориентироваться батник при рассортировке и перемещении файлов между папками.
Автор: margadon165
Дата сообщения: 06.05.2009 19:22
люди, помогите похалуйста, очень нужен скрипт, который в txt файле в начале каждой строчки писал к примеру "one" и в конце каждой строчки "two"
ОЧЕНЬ НАДО
Зарание спс
Автор: Lord_Selector
Дата сообщения: 06.05.2009 19:29
В общем помогите сделать такой bat-ник:

1 перемещение всех файлов с флешки во временную папку
2 форматирование флешки
3 сортировка этих файлов на 2 группы и запись каждой в отдельный rar архив:
1 группа- все dll файлы
2 группа- все остальные
4 запись этих архивов назад на флешку
5 удаление временной папки
Автор: 01MDM
Дата сообщения: 06.05.2009 19:58
margadon165
Два варианта:
1.Чистый батник

Код:
@echo off

for /f "tokens=*" %%i in (1.txt) do echo one%%itwo 1>>1.tmp
move 1.tmp 1.txt
Автор: 01MDM
Дата сообщения: 07.05.2009 08:07
Хмм.. Можно просто так:

Код:
sed -i "s/.*/one&two\r/g" 1.txt
Автор: An4eus
Дата сообщения: 07.05.2009 14:30
вопрос
как написать батник, который будет подключать сетевой диск, например буквы Y на путь, ссылающийся \\Server\123\... и т.д.
спасибо
Автор: smirnvlad
Дата сообщения: 07.05.2009 15:15
An4eus
подключение

Код: net use Y: \\Server\123\
Автор: An4eus
Дата сообщения: 07.05.2009 15:53
smirnvlad
спс...

ещё вопрос:
есть прога 1С 7.7 Она хранит списки баз в реестре : HKCU\Software\1C\1Cv7\7.7\Titles
вообще 77 не любит пути баз вида \\Server\123\base1 => хочу чтоб было так: Y:\base1

В этом разделе Titles есть список параметров (путей) и его значений (наименование баз)
Как написать батник, чтоб он видя на локальной машине путь вида \\Server\123\base1 заменил на Y:\base1
баз много и не обязательно, чтоб были имена base1, base2, base3 ... Может быть папка с базой называться Very
Автор: max200701
Дата сообщения: 07.05.2009 19:43
Здраствуйте уважаемые знатоки CMD ,есть одна проблема которую не могу осилить по причине не знания языка цмд(ну не програмист я )потому прошу помощи.
В консоле набираю команду Telnet ,получаю:Добро пожаловать в программу-клиент Microsoft Telnet,далее набираю команду: open 192.168.1.1 23 ,получаю assword: далее ввожу пароль получаю:
[more]Copyright (c) 1994 - 2004 ZyXEL Communications Corp.

Prestige 660RU-T1 Main Menu

Getting Started Advanced Management
1. General Setup 21. Filter Set Configuration
2. WAN Backup Setup 22. SNMP Configuration
3. LAN Setup 23. System Password
4. Internet Access Setup 24. System Maintenance
25. IP Routing Policy Setup
Advanced Applications 26. Schedule Setup
11. Remote Node Setup
12. Static Routing Setup
15. NAT Setup 99. Exit






Enter Menu Selection Number:[/more]


далее вожу команду:24 ,получаем
[more] Menu 24 - System Maintenance

1. System Status
2. System Information and Console Port Speed
3. Log and Trace
4. Diagnostic
5. Backup Configuration
6. Restore Configuration
7. Upload Firmware
8. Command Interpreter Mode
9. Call Control
10. Time and Date Setting
11. Remote Management





Enter Menu Selection Number:[/more]

далее ввожу команду:8 получаем
Copyright (c) 1994 - 2004 ZyXEL Communications Corp.
P660RU-T1>
далее комана:poe drop poe0
получаем смену ІР адреса
От как бы это всё автоматизировать?Заранее спасибо
Автор: triano
Дата сообщения: 07.05.2009 20:34
igor_andreev
Понял, спасибо!

Автор: kolyas
Дата сообщения: 08.05.2009 08:38
An4eus

Это не совсем батних.. это больше скрипт...

сделай проще подключи папку с базами всю как один диск..а разрешения на лишние базы не давай

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: как сохранить сетевые настройки


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.