Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   ПолуОФФ VBS movefile (http://forums.kuban.ru/f1040/poluoff_vbs_movefile-8199190.html)

OdnoBao 13.02.2017 16:18

ПолуОФФ VBS movefile
 
If fso.FileExists(datafile) Then
' мало ли предыдущий бакуп остался
If fso.FileExists(datafile & "~") Then
fso.DeleteFile datafile & "~"
End If
fso.MoveFile datafile, datafile & "~"
End If

Ругается на последний End If без каких-либо комментариев :(
datafile - правильное имя несуществующего файла
Выполняться оно должно как скрипт openconf в пофигураторе клюшек ;-)
Доки читал, запятые проверил, ниалё :(
Хелп плиз :)

VZ 13.02.2017 22:47

datafile & "~" - прибавляет символ [b]справа[/b]. Т.е., "1Cv8.1CD" превращается в "1Cv8.1CD_". Расширение в четыре символа... Интересная задумка. Плод размышления?

Вообще-то, бекапам принято давать префикс. Хорошо, если этот префикс содержал дату YYYYMMDD (при просмотре отлично сортируется):
[em] oDate = Date ' Используем дату в формате ггггммдд для формирования имени файла:
TextYear = FormatNumber(Year(oDate),0,-1,0,0)
TextMonth = FormatNumber(Month(oDate),0,-1,0,0)
if len(TextMonth)<2 then TextMonth = "0" & TextMonth
TextDay = FormatNumber(Day(oDate),0,-1,0,0)
if len(TextDay)<2 then TextDay = "0" & TextDay
[/em]

Расставь WScript.Echo для локализации проблемы. Убери ненужные в данном случае EndIF.
Повтори.
Да, и для WHS указывай версию (WScript.Version) и Винду.

Ткачик 13.02.2017 23:03

[quote=VZ;43751064]Расширение в четыре символа... Интересная задумка. Плод размышления?[/quote] Возможно, всего лишь подражание "суперкорпорации", которая "умнее" и коей высочайше рекомендовано "доверять": DOCX, XLSX, PPTX - скока символов? Ась?

P.S. Не торт, не торт...

VZ 13.02.2017 23:19

Тролль тут как тут. Флудит...

Ткачик 14.02.2017 01:09

Самокритично... :-)

OdnoBao 14.02.2017 17:19

Спасибо за уделённое внимание.
Всё решилось до банальности просто, и именно этого куска кода вообще не касалось. В сообщении об ошибке указывался номер строки на единицу меньше, чем оно фактически падало. Видимо, особенности исполнения vbs из-под openconf. Ну да не важно уже.

(1) Сделал бакупку нужного файла; пересоздал файл. Если файл пересоздался правильно - бакупка убилась. Если косякнуло - бакупка вернулась на место. Это не архивация и хранение, там у меня всё решено давно и надёжно. С префиксами YYYYMMDD-HHMM :)

(2) Я живу под линухами, здесь для таких вот одноразовых бакупок принято оканчивать имя файла тильдой.

Ещё раз спасибо :) Теперь за понимание.


Текущее время: 22:19. Часовой пояс GMT +3.