Войти

Показать полную графическую версию : [решено] Как правильно объединить скрипты в один ? Вместе не работают/работают не корректно


dark-------13
11-05-2011, 19:17
Здравствуйте, есть скрипты - можно ли их объединить в один

Первым делом должна выполняться архивация

@Echo Off
rem ChCp 1251>Nul
SetLocal EnableDelayedExpansion
Set src=e:\ў Ј®
Set arch=e:\*аеЁў
Set ar7z=c:\Program Files\7-Zip\7z.exe
:: ’ЁЇл *аеЁў®ў, Є®в®алҐ ¬®Јгв Ўлвм ў Ёб室*®© Ї*ЇЄҐ
Set ext=7z zip rar

IF EXIST "%scr%\*.*" ((For /R "%src%" %%a In (*.*) Do (
Set flg=
For %%i In (%ext%) Do If /I .%%i==%%~xa Set flg=1& Echo !Date! !Time! ЂаеЁў %%a Їа®ЇгйҐ*
If Not Defined flg (
"%ar7z%" a "%arch%\%%~na.7z" "%%a">Nul
Echo !Date! !Time! ”*©« %%a §**аеЁўЁа®ў** ў %arch%\%%~na.7z
rem Del /F/Q "%%a">Nul
rem Echo !Date! !Time! ?б室*л© д*©« %%a г¤*«Ґ*
)
)
) rem >>log.txt)

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

@echo off
set $SRC=e:\ў Ј®
set $DST=e:\ў

pushd "%$SRC%"
for /f "tokens=*" %%k in ('dir /b *.txt') do (
for /f "tokens=1" %%j in ("%%~ti") do if "%%j"=="%date%" (
copy "%%k" "%$DST%\"
cry "%$DST%\%%i"
))
popd

В третью очередь выполняем отправку файлов по почте

rem Теперь ведется лог в папке запуска батника - о начале и конце отправки письма, а также о том был ли прикреплен файл к письму, плюс появляется сообщение об удачной/неудачной отправке письма абоненту.

D:\Blat\full\blat.exe -log "1log.txt" -charset windows-1251 -subject "тест" -body "тест" -to a@t.ru -attach E:\в\*.txt

if %ErrorLevel%==0 net send pk-777 ЋвЇа*ў«Ґ*®
if %ErrorLevel%==1 net send pk-777 ЌҐ®вЇа*ў«Ґ*®

Foreigner
11-05-2011, 19:43
dark-------13,
Можно. Будет один большой батник.

dark-------13
11-05-2011, 20:12
У меня не получилось объединить - скопировал в один документ первый и второй скрипт и они перестали выполнятся оба ... прошу помощи у гуру батников .... помогите пожалуйста

Foreigner
11-05-2011, 21:03
dark-------13,
Я не вижу каких-либо причин, чтоб они не выполнялись, скопируйте последовательно в один файл с расширением cmd (bat), уберите ненужные rem, из второго батника можно убрать @echo off. Да, и про кодировку не забывайте, вполне возможно вы чего-то напутали и теперь указаны неверные пути.

dark-------13
11-05-2011, 23:04
Foreigner спасибо за проверку батников и за подсказку все заработало.

zero55
11-05-2011, 23:07
ничто не мешает держать несколько и при необходимости их вызывать через команду start.exe

dark-------13
12-05-2011, 08:58
Поторопился с тем что тема решена всетаки все вместе скрипты не пашут - подскажите как правильно написать общий батник

gora
15-05-2011, 19:33
dark-------13
1 Заключайте код батника в теги CODE (знак решетки # на панели быстрого запуска)
2 Приводите код в читаемой кодировке
3 Если код содержит кириллицу, то указывайте в какой кодировке сохранены Ваши батники

) rem >>log.txt) »
Здесь у Вас закомментирован не только вывод в файл, но и закрывающая скобка. Если первый файл при этом у Вас и будет работать нормально, то добавление после него второго файла может привести к неработоспособности объединенного батника, ибо число открывающихся и закрывающихся скобок нарушено.

dark-------13
16-05-2011, 15:17
Решение в теме http://forum.oszone.net/thread-206702.html




© OSzone.net 2001-2012