powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / echo bat
3 сообщений из 3, страница 1 из 1
echo bat
    #37599129
Alexey Kuzmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрейший денёчек!
Помогите, пожалуйста, понять, в чём проблема и как её решить.
Есть bat-файл:

echo on
del D:\BAK_REC\ftp\log.sql
set dtLog=%DATE% %TIME%
echo %dtLog% > D:\BAK_REC\backups\%dtStr%\sent
echo begin rr_hb.pr_load('Backup has been uploaded. > D:\BAK_REC\ftp\log.sql
type D:\BAK_REC\ftp\ftp.res >> D:\BAK_REC\ftp\log.sql
echo '); >> D:\BAK_REC\ftp\log.sql
echo end; >> D:\BAK_REC\ftp\log.sql
echo / >> D:\BAK_REC\ftp\log.sql
echo quit>> D:\BAK_REC\ftp\log.sql
echo />> D:\BAK_REC\ftp\log.sql

Он прекрасно работает, получается красивый log.sql:
begin rr_hb.pr_load('Backup has been uploaded.
-rw-r--r-- 1 ftp ftp 131670239 Dec 29 14:59 test.csv

');
end;
/
quit
/

Когда этот кусок выполняется в другом bat-нике:


set dt=%Date:~-10%
set dtDay=%dt:~0,2%
set dtMonth=%dt:~3,2%
set dtYear=%dt:~-4%

set dtStr=%dtYear%-%dtMonth%-%dtDay%
echo %dtStr%


IF NOT EXIST D:\BAK_REC\backups\%dtStr%\sent (
IF EXIST D:\BAK_REC\backups\%dtStr%\unarch (
del D:\BAK_REC\ftp\ok.log
del D:\BAK_REC\ftp\ftp.res
del D:\BAK_REC\ftp\ftp.ls
del D:\BAK_REC\ftp\log.sql
copy D:\BAK_REC\backups\%dtStr%\chel2a1.csv D:\BAK_REC\ftp
ftp -s:D:\BAK_REC\ftp\ftp.conn 10.81.113.103
ftp -s:D:\BAK_REC\ftp\ftp_ls.conn 10.81.113.103 > D:\BAK_REC\ftp\ftp.ls
findstr /C:"chel2a1.csv" D:\BAK_REC\ftp\ftp.ls > D:\BAK_REC\ftp\ftp.res
IF NOT ERRORLEVEL 1 (echo %dtStr% > D:\BAK_REC\ftp\ok.log)
IF EXIST D:\BAK_REC\ftp\ok.log (
echo on
del D:\BAK_REC\ftp\CHEL2A1.csv
set dtLog=%DATE% %TIME%
echo %dtLog% > D:\BAK_REC\backups\%dtStr%\sent
echo begin rr_hb.pr_load('Backup has been uploaded. > D:\BAK_REC\ftp\log.sql
echo '); >> D:\BAK_REC\ftp\log.sql
echo end; >> D:\BAK_REC\ftp\log.sql
echo / >> D:\BAK_REC\ftp\log.sql
echo quit>> D:\BAK_REC\ftp\log.sql
echo />> D:\BAK_REC\ftp\log.sql

sqlplus test/test@db @D:\BAK_REC\ftp\log.sql

)
)
)
получается "кривой" log.sql:
'
end;
/
quit
/

Чего-то, мозг "сломал" :-(
Спасибо заранее.
...
Рейтинг: 0 / 0
echo bat
    #37600331
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Kuzmin, учли, что формат даты/времени зависит от региональных настроек?
...
Рейтинг: 0 / 0
echo bat
    #37600466
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Kuzmin,
а так?
Код: sql
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.
IF EXIST D:\BAK_REC\backups\%dtStr%\sent goto :eof
IF NOT EXIST D:\BAK_REC\backups\%dtStr%\unarch goto :eof
del D:\BAK_REC\ftp\ok.log
del D:\BAK_REC\ftp\ftp.res
del D:\BAK_REC\ftp\ftp.ls
del D:\BAK_REC\ftp\log.sql
copy D:\BAK_REC\backups\%dtStr%\chel2a1.csv D:\BAK_REC\ftp
ftp -s:D:\BAK_REC\ftp\ftp.conn 10.81.113.103
ftp -s:D:\BAK_REC\ftp\ftp_ls.conn 10.81.113.103 > D:\BAK_REC\ftp\ftp.ls
findstr /C:"chel2a1.csv" D:\BAK_REC\ftp\ftp.ls > D:\BAK_REC\ftp\ftp.res
IF ERRORLEVEL 1 goto :eof
echo %dtStr% > D:\BAK_REC\ftp\ok.log
rem IF NOT EXIST D:\BAK_REC\ftp\ok.log goto :eof
echo on
del D:\BAK_REC\ftp\CHEL2A1.csv
set dtLog=%DATE% %TIME%
echo %dtLog% > D:\BAK_REC\backups\%dtStr%\sent
echo begin rr_hb.pr_load('Backup has been uploaded. > D:\BAK_REC\ftp\log.sql
echo '); >> D:\BAK_REC\ftp\log.sql
echo end; >> D:\BAK_REC\ftp\log.sql
echo / >> D:\BAK_REC\ftp\log.sql
echo quit>> D:\BAK_REC\ftp\log.sql
echo />> D:\BAK_REC\ftp\log.sql

sqlplus test/test@db @D:\BAK_REC\ftp\log.sql
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / echo bat
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]