Что нового

Почему добавляется 0 (ноль) в окончание имени файла?

chaos-13

Новичок
Сообщения
34
Репутация
0
Всем привет. Ребят, столкнулся с проблемой, не знаю где копать. В общем есть скрипт по закачке с фтп обновлении для антивируса. Работал всегда исправно ошибок не выдавал. Тут недавно перестал работать. Начал смотреть что, где и как. Сам код я не менял, поэтому всё должно было быть норм. Начал проверять с помощью ConsoleWrite, что возвращают функции в частности _FTP_ListToArray или _FTP_DirGetCurrent. Так вот _FTP_DirGetCurrent должна возвращать в переменной мне путь к каталогу с обновлениями. Она и возвращает, НО добавляет в конец ещё 0. Соответственно это значение записывается в переменную и дальше скрипт не работает, т.к. путь уже не тот. У кого было подобное?
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Ну мы не экстрасенсы. Выкладывайте скрипт - посмотрим.
 
Автор
C

chaos-13

Новичок
Сообщения
34
Репутация
0
Код:
#include<FTPEx.au3>
#include<File.au3>
#include<Array.au3>
#include<Misc.au3>
#include<GUIConstantsEx.au3>
#include<ProgressConstants.au3>
Dim $avArray[3]
Dim $avDirloc[3]
Dim $avFTP[3]
Local $serverAVZ = '*******' ;адрес сервера AVZ
Local $usernameAVZ = '******' ;логин
Local $passAVZ = '*********';пароль
$avArray[0] = "***********"; каталог, где будем вести поиск обновлений для Касперского 6
$avArray[1] = "*******"; каталог, где будем вести поиск обновлений для Касперского 10
$avArray[2] = "********"; каталог, где будем вести поиск обновлений для Касперского 8
$avDirloc[0] = "D:\updates\_downloads\Базы KAV 6.0.4\" ;каталог с базами на локальном компе
$avDirloc[1] = "D:\updates\_downloads\Базы KES10\" ;каталог с базами на на локальном
$avDirloc[2] = "D:\updates\_downloads\Базы KES9\" ;каталог с базами на локальном
Local $hFile=FileOpen(@ScriptDir&"\Logscript.log",1)
Local $OpenAVZ = _FTP_Open('ftp://')
Local $ConnAVZ = _FTP_Connect($OpenAVZ, $serverAVZ, $usernameAVZ, $passAVZ)
_FileWriteLog($hFile,"- - - - - - - - - - - - - - - - - - - - ")
_FileWriteLog($hFile,"ПОДКЛЮЧЕНИЕ К СЕРВЕРУ ОБНОВЛЕНИЙ") ;запись информации об ошибке в log файл.
_FileWriteLog($hFile,"Код ошибки:" & @error & @CRLF)
If @error<>0 Then ;Проверка подключения к серверу с обновлениями
If MsgBox(4096+4,"Ошибка скрипта", "Сервер недоступен.Попробывать запустить скрипт позже?")=6 Then ;отработка условия нажатия клавиш "Да" или "Нет"
   For $i=1 to 4;цикл по проверки подключения к серверу
	$OpenAVZ = _FTP_Open('ftp://')
    $ConnAVZ = _FTP_Connect($OpenAVZ, $serverAVZ, $usernameAVZ, $passAVZ)
	_FileWriteLog($hFile,"ПОДКЛЮЧЕНИЕ К СЕРВЕРУ ОБНОВЛЕНИЙ") ;запись информации об ошибке в log файл.
	_FileWriteLog($hFile,"Код ошибки:" & @error & @CRLF)
	If @error==0 Then ExitLoop
	   MsgBox(16, "Стоп", "Сервер с обновлениями не отвечает", 15)
	   Sleep(300000)
	Next
	$OpenAVZ = _FTP_Open('ftp://')
    $ConnAVZ = _FTP_Connect($OpenAVZ, $serverAVZ, $usernameAVZ, $passAVZ)
    _FileWriteLog($hFile,"ПОДКЛЮЧЕНИЕ К СЕРВЕРУ ОБНОВЛЕНИЙ" & @error & @CRLF) ;запись информации об ошибке в log файл.
	_FileWriteLog($hFile,"Код ошибки:" & @error & @CRLF)
	If @error<>0 Then Exit
 Else
	Exit
	EndIf
 EndIf
For $k=0 to 2 ; цикл в котором будет происходить замена папок по поиску обвновлений
 Local $dirset0 = _FTP_DirSetCurrent($ConnAVZ, $avArray[$k])
 _FileWriteLog($hFile,"ПОИСК ОБНОВЛЕНИЙ ПО ПУТИ:" &$avArray[$k]) ;запись информации об ошибке в log файл.
 _FileWriteLog($hFile,"Код ошибки:" & @error & @CRLF)
 If $dirset0==0 Then;отработка ощибки _FTP_DirSetCurrent
   MsgBox(16,"Ошибка","Скрипту не удаётся найти папку с обновлениями на FTP сервере AVZ")
   Exit;!!!!!
   EndIf
 Local $aDirAVZ = _FTP_ListToArray($ConnAVZ,1);получение списка папок с AVZ
 _FileWriteLog($hFile,"ПОИСК ОБНОВЛЕНИЙ НА СЕРВЕРЕ AVZ В ПАПКЕ:" &$avArray[$k]) ;запись информации об ошибке в log файл.
 _FileWriteLog($hFile,"Код ошибки:" & @error & @CRLF)
 If $aDirAVZ[0]==0 Then;отработка ошибки FTP_ListToArray
   MsgBox(16,"Ошибка","На FTP сервере AVZ нет папок с обновлениями")
   Exit;!!!!!
   EndIf
Local $aDirloc = _FileListToArray($avDirloc[$k],"*",2); получение списка папок с АП
Local $error = @error
_FileWriteLog($hFile,"СПИСОК ПАПОК ПО АДРЕСУ:" &$avDirloc[$k]) ;запись информации об ошибке в log файл.
_FileWriteLog($hFile,"Код ошибки:"& $error & @CRLF)
If $error<>4 Then ;проверка условия на отсутствие папок с обновлениями на АП.
Global $g=$aDirAVZ[$aDirAVZ[0]]
Local $folder0 = $avArray[$k]&$g ;каталог, откуда будем получать список файлов с нужного каталога на AVZ
DirCreate($avDirloc[$k]&$g)
$m=$aDirloc[$aDirloc[0]] ;присваиваем значение параметра $aDirloc[0] переменной m
If $g > $m Then
Local $dirset = _FTP_DirSetCurrent($ConnAVZ, $folder0) ;устанавливаем тут папку, в которой будем искать файл нужный для скачивания
Local $aFile = _FTP_ListToArray($ConnAVZ, 2) ;получение массива с именами файлов в папке $folder
;---------------------------
ElseIf $g==$m Then
Local $dirset = _FTP_DirSetCurrent($ConnAVZ, $folder0) ;устанавливаем тут папку, в которой будем искать файл нужный для скачивания
Local $aFile = _FTP_ListToArray($ConnAVZ, 2) ;получение массива с именами файлов в папке $folder на сервере
Local $sizeS=_FTP_FileGetSize($ConnAVZ,$aFile[1])
Local $sizeL= FileGetSize($avDirloc[$k]&$g&"\*.zip")
If $sizeL<>$sizeS Then
                  DirRemove($avDirloc[$k]&$g,1);удаляем папку с недокачанными обновлениями.
                  DirCreate($avDirloc[$k]&$g); тут же создаём пустую директорию
				  Else
					 ContinueLoop
					 EndIf
EndIf
;---------------------------
 For $i = 1 to 2 ;цикл
  Example()
  Local $fuFunctionToCall = _UpdateGUIProgressBar
 _FTP_ProgressDownload($ConnAVZ, $avDirloc[$k]&$aFile[$i], $avArray[$k]&$g&"/"&$aFile[$i],$fuFunctionToCall) ;скачивание файла на локальный ПК
 _FileWriteLog($hFile,"СКАЧИВАНИЕ ОБНОВЛЕНИЙ С:" &$avArray[$k]&$g&"/"&$aFile[$i]) ;запись информации об ошибке в log файл.
 _FileWriteLog($hFile,"Код ошибки:" & @error & @CRLF)
 FileMove($avDirloc[$k]&$aFile[$i], $avDirloc[$k]&$g)
 GUISetState(@SW_HIDE)
 Next
Else
Local $fuFunctionToCall = _UpdateGUIProgressBar
Global $g=$aDirAVZ[$aDirAVZ[0]]
Local $folder0 = $avArray[$k]&$g ;каталог, откуда будем получать список файлов с нужного каталога на ФТП
DirCreate($avDirloc[$k]&$g)
Local $dirset = _FTP_DirSetCurrent($ConnAVZ, $folder0) ;устанавливаем тут папку, в которой будем искать файл нужный для скачивания
Local $aFile = _FTP_ListToArray($ConnAVZ, 2) ;получение массива с именами файлов в папке $folder
For $i = 1 to 2 ;цикл
 Example()
 _FTP_ProgressDownload($ConnAVZ, $avDirloc[$k]&$aFile[$i], $avArray[$k]&$g&"/"&$aFile[$i],$fuFunctionToCall) ;скачивание файла на локальный ПК
 _FileWriteLog($hFile,"СКАЧИВАНИЕ ОБНОВЛЕНИЙ С" &$avArray[$k]&$g&"/"&$aFile[$i]) ;запись информации об ошибке в log файл.
 _FileWriteLog($hFile,"Код ошибки:" & @error & @CRLF)
 FileMove($avDirloc[$k]&$aFile[$i], $avDirloc[$k]&$g)
 GUISetState(@SW_HIDE)
Next
;Local $Ftpc = _FTP_Close($Open)
;FileClose($hFile)
   ; Exit
 EndIf
 Next
 Local $FtpcAVZ = _FTP_Close($OpenAVZ)
 FileClose($hFile)
 Exit
Func Example()
    ; create GUI
    GUICreate("Загрузка обновлений на АП", 300, 100, 100, 200)
    GUICtrlCreateLabel($avDirloc[$k]&$aFile[$i], 10, 10)
   Global $g_idProgressBarCtrl = GUICtrlCreateProgress(10, 40, 280, 20, $PBS_SMOOTH)
    GUICtrlSetColor(-1, 32250); not working with Windows XP Style
   Global $g_idBtn_Cancel = GUICtrlCreateButton("Cancel", 110, 70, 70, 20)
    GUISetState(@SW_SHOW)
        ;_FTP_ProgressDownload($ConnAVZ, $avDirloc[$k]&$aFile[$i], $avArray[$k]&$g&"/"&$aFile[$i], $fuFunctionToCall)
    ;Exit @error
EndFunc   ;==>Example

Func _UpdateGUIProgressBar($iPercent)
    GUICtrlSetData($g_idProgressBarCtrl, $iPercent)
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Return -1 ; _FTP_UploadProgress Aborts with -1, so you can exit your app afterwards
        Case $g_idBtn_Cancel
            Return -2 ; Just Cancel, without special Return value
    EndSwitch
    Return 1 ; Otherwise continue Upload
EndFunc   ;==>_UpdateGUIProgressBar
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Всё это похоже на какую-то разводку
Код:
_FTP_ListToArray Возвращает имена файлов и/или каталогов текущего удалённого каталога.
Возвращаемое значение
Успех: Возвращает массив, содержащий имена. $Array[0] содержит количество найденных элементов. 
Ошибка: $Array[0] = 0
А что происходит если на FTP нет ни одного элемента, удовлетворяющего условиям поиска?
Это вроде бы и не ошибка, а с другой стороны элементов (у ТС конкретно каталогов) ноль.

Ну и потом ТС так и склеивает
Код:
Global $g=$aDirAVZ[$aDirAVZ[0]]
Local $folder0 = $avArray[$k]&$g ;каталог, откуда будем получать список файлов с нужного каталога на AVZ
 
Автор
C

chaos-13

Новичок
Сообщения
34
Репутация
0
На FTP есть папки. Через Total Commander проверял. Суть в чём. $dirset0 = _FTP_DirSetCurrent($ConnAVZ, $avArray[$k]) устанавливает текущий каталог, откуда будем качать обновление. Результат она возвращает, всё норм. Далее идёт $aDirAVZ = _FTP_ListToArray($ConnAVZ,1). Так мы получаем массив с именами двух папок с обновлениями. Если папки там есть, то скрипт идёт дальше, если нет, то скрипт завершает работу. Факт в том, что папки на серваке в реале есть, а скрипт их не видит. Почему? Начинаю проверять. _ArrayDisplay($aDirAVZ) выводит 0. Т.е. элементов нет для массива, хотя по факту они есть. Пробую найти конкретный каталог через _FTP_DirGetCurrent($ConnAVZ) и через ConsoleWrite вывожу значение. Оно выводиться, но в конце добавляется 0. Пример: Должно быть так /avz/updates/base, а выводит так /avz/updates/base0.


Добавлено:
Сообщение автоматически объединено:

C2H5OH сказал(а):
Всё это похоже на какую-то разводку
Код:
_FTP_ListToArray Возвращает имена файлов и/или каталогов текущего удалённого каталога.
Возвращаемое значение
Успех: Возвращает массив, содержащий имена. $Array[0] содержит количество найденных элементов. 
Ошибка: $Array[0] = 0
А что происходит если на FTP нет ни одного элемента, удовлетворяющего условиям поиска?
Это вроде бы и не ошибка, а с другой стороны элементов (у ТС конкретно каталогов) ноль.

Ну и потом ТС так и склеивает
Код:
Global $g=$aDirAVZ[$aDirAVZ[0]]
Local $folder0 = $avArray[$k]&$g ;каталог, откуда будем получать список файлов с нужного каталога на AVZ

До сего момента сейчас скрипт не дорабатывает. Заканчивает работу вот на этом:
Код:
Local $aDirAVZ = _FTP_ListToArray($ConnAVZ,1);получение списка папок с AVZ
 _FileWriteLog($hFile,"ПОИСК ОБНОВЛЕНИЙ НА СЕРВЕРЕ AVZ В ПАПКЕ:" &$avArray[$k]) ;запись информации об ошибке в log файл.
 _FileWriteLog($hFile,"Код ошибки:" & @error & @CRLF)
 If $aDirAVZ[0]==0 Then;отработка ошибки FTP_ListToArray
   MsgBox(16,"Ошибка","На FTP сервере AVZ нет папок с обновлениями")
   Exit;!!!!!
   EndIf
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Я в коде не вижу ни одного _FTP_DirGetCurrent
 
Автор
C

chaos-13

Новичок
Сообщения
34
Репутация
0
Им я просто проверял результат. В коде он не нужен.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Заметил один момент, для меня не совсем понятный : у Вас в начале скрипта
Код:
$OpenAVZ = _FTP_Open('ftp://')
    $ConnAVZ = _FTP_Connect($OpenAVZ, $serverAVZ, $usernameAVZ, $passAVZ)
затем в цикле
Код:
For $i=1 to 4;цикл по проверки подключения к серверу
опять и после выхода из цикла при успешном соединении снова
Код:
$OpenAVZ = _FTP_Open('ftp://')
    $ConnAVZ = _FTP_Connect($OpenAVZ, $serverAVZ, $usernameAVZ, $passAVZ)
При удачном подключении вы трижды открываете сессию...
 
Автор
C

chaos-13

Новичок
Сообщения
34
Репутация
0
ra4o сказал(а):
Заметил один момент, для меня не совсем понятный : у Вас в начале скрипта
Код:
$OpenAVZ = _FTP_Open('ftp://')
    $ConnAVZ = _FTP_Connect($OpenAVZ, $serverAVZ, $usernameAVZ, $passAVZ)
затем в цикле
Код:
For $i=1 to 4;цикл по проверки подключения к серверу
опять и после выхода из цикла при успешном соединении снова
Код:
$OpenAVZ = _FTP_Open('ftp://')
    $ConnAVZ = _FTP_Connect($OpenAVZ, $serverAVZ, $usernameAVZ, $passAVZ)
При удачном подключении вы трижды открываете сессию...
Да это можно так сказать костыль. Я так проверял доступность сервера с обновлениями и по-другому у меня не получалось, решил такой костыль сделать. Но это никак на результат не должно влиять.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Зачем всё так усложнять ? Я понимаю, что Вам нужно проверить наличие определённых папок на FTP сервере (их три) в каждой из них есть вложенные папки из которых Вы хотите забрать файлы в три каталога на локальном диске. Так ?
 
Автор
C

chaos-13

Новичок
Сообщения
34
Репутация
0
ra4o сказал(а):
Зачем всё так усложнять ? Я понимаю, что Вам нужно проверить наличие определённых папок на FTP сервере (их три) в каждой из них есть вложенные папки из которых Вы хотите забрать файлы в три каталога на локальном диске. Так ?
Верно. Но, если папки на ФТП свежие, то я их скачиваю, если нет, то не скачиваю.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
"Свежесть" определяете по изменению размера файла ?
Я-бы сделал три вложенных цикла :
Код:
For $i=0 to 2 ;Перебираете все $avArray
   _FTP_DirSetCurrent(...); Зайти в каталог
    $aFolder = _FTP_ListToArray($ConnAVZ, 1);Получить список каталогов  в текущем $avArray
         For $y=1 to $aFolder[0][0]; Следующий цикл по вложеным папкам
               _FTP_DirSetCurrent(...); Зайти в каталог
                 $aFile = _FTP_ListToArrayEx($ConnAVZ, 2); Получить список файлов
                       For $j=1 to $aFile[0][0]
                           ;
                           ;Работа с файлами - сравниваете размеры, пишите на локальный диск
                           ;
                       Next
         Next
Next
 
Автор
C

chaos-13

Новичок
Сообщения
34
Репутация
0
Нет, "свежесть" я определяю по дате. Формат папки годммдд.


Добавлено:
Сообщение автоматически объединено:

Тут понятно, что скрипт не идеален, но работал. Вопрос именно почему, в конце значений добавлялся 0 и не важно, путь это был или имя файла. Из-за этого скрипт не работал. Я уж думаю, может версию AutoIT обновить, у меня она не новая.........
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Попробуйте мой вариант - должен просто по очереди в "MsgBox" вывести названия всех файлов, посмотрите на наличие "0" в конце.
Код:
#include<FTPEx.au3>
#include<File.au3>
#include<Array.au3>
#include<Misc.au3>
#include<GUIConstantsEx.au3>
#include<ProgressConstants.au3>
Dim $avArray[3]
Dim $avDirloc[3]
Dim $avFTP[3]
Local $serverAVZ = '*******' ;адрес сервера AVZ
Local $usernameAVZ = '******' ;логин
Local $passAVZ = '*********';пароль
$avArray[0] = "***********"; каталог, где будем вести поиск обновлений для Касперского 6
$avArray[1] = "*******"; каталог, где будем вести поиск обновлений для Касперского 10
$avArray[2] = "********"; каталог, где будем вести поиск обновлений для Касперского 8

Local $OpenAVZ = _FTP_Open('ftp://')
Local $ConnAVZ = _FTP_Connect($OpenAVZ, $serverAVZ, $usernameAVZ, $passAVZ)


If Not @error Then

   For $i=0 to 2 ;Перебираете все $avArray
      _FTP_DirSetCurrent($ConnAVZ,$avArray[$i]); Зайти в каталог
         $aFolder = _FTP_ListToArray($ConnAVZ, 1);Получить список каталогов  в текущем $avArray
            For $y=1 to $aFolder[0]; Следующий цикл по вложеным папкам
                  _FTP_DirSetCurrent($ConnAVZ,$avArray[$i]&$aFolder[$y]); Зайти в каталог
                    $aFile = _FTP_ListToArrayEx($ConnAVZ, 2); Получить список файлов
                          For $j=1 to $aFile[0][0]
                             ;
                           MsgBox(0,'',$avArray[$i]&$aFolder[$y] &'/'& $aFile[$j][0])
                             ;
                          Next
            Next
   Next

 EndIf
 
Автор
C

chaos-13

Новичок
Сообщения
34
Репутация
0
ra4o сказал(а):
Попробуйте мой вариант - должен просто по очереди в "MsgBox" вывести названия всех файлов, посмотрите на наличие "0" в конце.
Код:
#include<FTPEx.au3>
#include<File.au3>
#include<Array.au3>
#include<Misc.au3>
#include<GUIConstantsEx.au3>
#include<ProgressConstants.au3>
Dim $avArray[3]
Dim $avDirloc[3]
Dim $avFTP[3]
Local $serverAVZ = '*******' ;адрес сервера AVZ
Local $usernameAVZ = '******' ;логин
Local $passAVZ = '*********';пароль
$avArray[0] = "***********"; каталог, где будем вести поиск обновлений для Касперского 6
$avArray[1] = "*******"; каталог, где будем вести поиск обновлений для Касперского 10
$avArray[2] = "********"; каталог, где будем вести поиск обновлений для Касперского 8

Local $OpenAVZ = _FTP_Open('ftp://')
Local $ConnAVZ = _FTP_Connect($OpenAVZ, $serverAVZ, $usernameAVZ, $passAVZ)


If Not @error Then

   For $i=0 to 2 ;Перебираете все $avArray
      _FTP_DirSetCurrent($ConnAVZ,$avArray[$i]); Зайти в каталог
         $aFolder = _FTP_ListToArray($ConnAVZ, 1);Получить список каталогов  в текущем $avArray
Здесь проверяю получившийся массив функцией _ArrayDisplay($aFolder)  и она ничего не выводит, показывает, что элементов 0, хотя когда по адресу захожу на ФТП, папки есть. Что за фигня, не понимаю.
            For $y=1 to $aFolder[0]; Следующий цикл по вложеным папкам
                  _FTP_DirSetCurrent($ConnAVZ,$avArray[$i]&$aFolder[$y]); Зайти в каталог
                    $aFile = _FTP_ListToArrayEx($ConnAVZ, 2); Получить список файлов
                          For $j=1 to $aFile[0][0]
                             ;
                           MsgBox(0,'',$avArray[$i]&$aFolder[$y] &'/'& $aFile[$j][0])
                             ;
                          Next
            Next
   Next

 EndIf
Проверяю получившийся массив функцией _ArrayDisplay($aFolder) и она ничего не выводит, показывает, что элементов 0, хотя когда по адресу захожу на ФТП, папки есть. Что за фигня, не понимаю.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Добавьте после всех функций
Код:
If @error then MsgBox(0,'Здесь название функции или путь',@error)
что-бы определить где ошибка.
 
Автор
C

chaos-13

Новичок
Сообщения
34
Репутация
0
ra4o сказал(а):
Добавьте после всех функций
Код:
If @error then MsgBox(0,'Здесь название функции или путь',@error)
что-бы определить где ошибка.
К сожалению, данный вариант не подходит. Ошибок нет, всё работает. Попробую ещё раз объяснить.
Код:
*****************
$avArray[0] = "/kav_update/adminkit8_mp4/base/"; каталог, где будем вести поиск обновлений для Касперского 6
$avArray[1] = "/kav_update/ksc10/base/"; каталог, где будем вести поиск обновлений для Касперского 10
$avArray[2] = "/kav_update/ksc9/base/"; каталог, где будем вести поиск обновлений для Касперского 8
$avDirloc[0] = "D:\updates\_downloads\Базы KAV 6.0.4\" ;каталог с базами на АП
$avDirloc[1] = "D:\updates\_downloads\Базы KES10\" ;каталог с базами на АП
$avDirloc[2] = "D:\updates\_downloads\Базы KES9\" ;каталог с базами на АП

Local $OpenAVZ = _FTP_Open('ftp://')
Local $ConnAVZ = _FTP_Connect($OpenAVZ, $serverAVZ, $usernameAVZ, $passAVZ)


If Not @error Then

   For $i=0 to 2 ;Перебираете все $avArray
      _FTP_DirSetCurrent($ConnAVZ,$avArray[$i]); Зайти в каталог
	
  $f = _FTP_DirGetCurrent($ConnAVZ)
	  
ConsoleWrite('f = ' &$f &@error &@CRLF)
        
 $aFolder = _FTP_ListToArray($ConnAVZ);Получить список каталогов  в текущем $avArray
		 _ArrayDisplay($aFolder)
		******************************


При таком раскладе ConsoleWrite('f = ' &$f &@error &@CRLF) выдаёт путь /kav_update/adminkit8_mp4/base0 , а должна выдавать /kav_update/adminkit8_mp4/base/. Далее убираем &@error и получаем путь /kav_update/adminkit8_mp4/base. НО.............._ArrayDisplay($aFolder) всё равно показывает 0. Хотя по факту папки с обновлениями там есть.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Только что проверил последний свой скрипт с другим ftp сервером , всё работает отлично. Он ищет в каталоге по указанным в массиве путям- вложенные каталоги , а уже во вложенных каталогах ищет файлы. У вас по пути,например "/kav_update/adminkit8_mp4/base/" находятся вложенные каталоги или файлы ?
 
Автор
C

chaos-13

Новичок
Сообщения
34
Репутация
0
ra4o сказал(а):
Только что проверил последний свой скрипт с другим ftp сервером , всё работает отлично. Он ищет в каталоге по указанным в массиве путям- вложенные каталоги , а уже во вложенных каталогах ищет файлы. У вас по пути,например "/kav_update/adminkit8_mp4/base/" находятся вложенные каталоги или файлы ?
Да, в папке base есть всегда две папки с обновлениями в форматах дд.мм.год. Я понимаю, что скрипт рабочий, да и мой то рабочим был, работал так где-то 1 год. И сейчас тупо перестал, просто не работает. Стал проверять, вот выяснил, что в название пути 0 добавляет. Я вот думаю, может скачать последнюю версию Autoit и в ней его перекомпилировать.....
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Работа скомпилированного скрипта от версии Autoit не зависит.
 
Верх