Передача даних 1с порт 21. Скопіювати файл із SFTP сервера

У цій статті наведено способи обходу помилок інтернет-з'єднань, якими я користуюся на практиці.

У моєму випадку проблема вирішувалася редагуванням файлу C:\WINDOWS\system32\drivers\etc\hosts "192.168.0.1 доменне ім'я сайту" на клієнті або на сервері - там, де працює регламентне завдання. Після цього запрацювали вбудовані інтернет-з'єднання 1С:

КаталогФайлівОбміну = "D:\temp\"; Ім'яФайлаВідповідь = КаталогФайлівОбмін + "cards.xml"; Заголовки = "discount.php"; ПроксиК = Невизначено; Спроба ПроксіК = Новий ІнтернетПроксі; ПроксиК.Встановити("http", ПроксиК.Сервер("http"), ПроксиК.Порт("http")); Виняток КінецьСпроби; ПроксиК.Користувач = "**********"; ПроксиК.Пароль = "************"; Коннект = Новий HTTPЗ'єднання ("доменне ім'я сайту", ПроксиК); Спроба Коннект.Отримати(Заголовки,Ім'яФайлаВідповіді); Коннект = Невизначено; Виняток Помилка = ОписПомилки(); Ф = Новий Текстовий документ; Ф.ДодатиСтроку(Помилка); Ф.Записати(Ім'яФайлаВідповіді); Ф = ""; КінецьСпроби;

Також допомогло редагування etc\hosts, після чого запрацювало з'єднання з публікації Відправка HTTP-рядка з обробкою відповіді

Спроба XMLHttp = GetCOMObject("", "Microsoft.XMLHTTP"); Виняток Помилка = ОписПомилки(); Ф = Новий Текстовий документ; Ф.ДодатиСтроку(Помилка); Ф.Записати("D:\temp\cards21.txt"); Ф = ""; Повернення; КінецьСпроби; Спроба XMLHttp.Open("GET", "http://доменнеім'ясайту/discount.php", Брехня); Виняток Помилка = ОписПомилки(); Ф = Новий Текстовий документ; Ф.ДодатиСтроку(Помилка); Ф.Записати("D:\temp\cards22.txt"); Ф = ""; Повернення; КінецьСпроби; XMLHttp.Send(); Якщо XMLHttp.Status = 200, тоді стор = ""; Спроба стор = XMLHttp.ResponseText; Виняток Стор = ОписПомилки(); КінецьСпроби; Ф = Новий Текстовий документ; Ф.ДодатиСтроку(Стор); Ф.Записати("D:\temp\cards23.txt"); Ф = ""; Інакше Ф = Новий Текстовий документ; Ф.ДодатиСтроку(XMLHttp.Status); Ф.Записати("D:\temp\cards24.txt"); Ф = ""; КінецьЯкщо;

Через компонент dialmail підключення проходить нормально, але змусити його працювати не вдалося:

//Якщо ЗавантажитиЗовнішнюКомпоненту(КаталогІБ() + "DialMail.dll") = 0 Тоді // Повідомити("Не вдалося завантажити компоненту DialMail.dll!"); // СтатусПовернення(0); // Повернення; //КінецьЯкщо; //Спроба // FTP = Створити Об'єкт("AddIn.FTP"); // FTP.Ім'яЛогФайлу = "c:\dialmail_ftp.log"; // FTP.ВестиЛогФайл = 1; // FTP.ВестиТехнічнийЛогФайл = 1; //Виняток // Повідомити("Не вдалося створити об'єкт з компоненти DialMail.dll!"); // СтатусПовернення(0); // Повернення; //КінецьСпроби; //FTP.Ім'яКористувачаПроксі = Ім'яКористувачаПроксі; //FTP.ПарольПроксі = ПарольПроксі; // FTP.ХостПроксі = ХостПроксі; // FTP.ПортПроксі = ПортПроксі; //// Якщо FTP.ВикористовуватиПроксі = 0 тоді //// всі вищевведені параметри не враховуються //FTP.ВикористовуватиПроксі = 2; // FTP. Використати SSL = 0; // FTP.NewRFC = 0; // FTP. Бінарний режим = 0; // FTP. Час До Розриву = 1000000; // Timeout //Якщо FTP.Підключитися(FTPСервер, // FTPПорт, // FTPКористувач, // FTPПароль, 0) = 0 Тоді // Попередження("Не змогли підключитися до FTP-серверу"); // Інакше // Підключено = 1; //КінецьЯкщо; //Повідомити(FTP.ВерсіяОбъектаСтр); //ТекФТПКаталог = FTP.ПоточнийКаталог();

28.03.13 13:44:01.500 FTP: Підключаємось до сокету
28.03.13 13:44:01.515 FTP: До сокету підключилися успішно
28.03.13 13:44:01.671 FTP 28.03.13 13:44:01.671 FTP --> USER 931013677
28.03.13 13:44:01.687 FTP 28.03.13 13:44:01.687 FTP --> PASS *****
28.03.13 13:44:01.703 FTP 28.03.13 13:44:01.703 FTP --> TYPE I
28.03.13 13:44:01.718 FTP 28.03.13 13:44:01.718 FTP --> STRU F
28.03.13 13:44:01.734 FTP 28.03.13 13:44:01.734 FTP --> REST 0
28.03.13 13:44:01.734 FTP 28.03.13 13:44:01.750 FTP --> REST 1
28.03.13 13:44:01.750 FTP 28.03.13 13:44:01.765 FTP --> REST 0
28.03.13 13:44:01.765 FTP 28.03.13 13:44:01.781 FTP --> PWD
28.03.13 13:44:01.781 FTP 28.03.13 13:44:02.968 FTP --> PWD
28.03.13 13:44:02.984 FTP 28.03.13 13:44:02.984 FTP --> PASV
28.03.13 13:44:03.000 FTP28.03.13 13:44:03.000 FTP --> LIST

при спробі завантажити файл на сервер йдуть помилки сокету 10054

Socket Error # 10054 Connection reset by peer

В інтернеті про цю помилку dialmail написано трохи, в основному що вона зустрічається, без способу вирішення. На сайті Гільова про цю помилку написано, що вона зустрічається у платформі: http://www.gilev.ru/10054/

Мій спосіб:

  1. winscp завантажується файл (працює навіть без редагування etc\hosts)
  2. curl-ом смикається http-посилання (хоча curl не працює без редагування etc\hosts)

Ось перелік основних принципових питань при вирішенні практичного завдання використання інтернет-з'єднання за допомогою зовнішнього клієнта, на які виявилося важливо звернути увагу.

Про curl дізнався у спеціалістів pradata.com
curl is command line tool for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet та TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling and a busload of other

Про winscp допомогла публікація Вивантаження файлів на SFTP

На сервері може бути відключено розшифровку dns адреси(як у моєму випадку), тому замість доменного імена сайту - цифровий ай-пі адресу.

Текст процедури, яка у мене реально працює (перезаписую файл у тимчасовому локальному каталозі та заливаю на сервер):
Процедура Звіт (ТабДок, ДатаКон, ДатаНач) Експорт Ф = Новий ТекстовийДокумент; Ф.ДодатиСтроку("ШтрихКод;Період;СумаПокупки"); Файл="d:\temp\discount.txt"; Ф. Записати (Файл); // http://programna1c.narod.ru/docs/WSH/1C_WSH_WshShell.html //Run(,) Виконує команду. Основною перевагою є очікування закінчення роботи виконуваної команди. //Параметри: // - Виконувана команда. Задається у форматі DOS і довгі назви не підтримує. // - Число, в якому вказується варіант показу вікна, що запускається програми. Чи не обов'язковий. Можливі значення: //0 - Приховує вікно та активує інше; //1 - Активізує та показує вікно. Якщо вікно мінімізоване або максимізоване, система відновлює його до оригінального розміру та положення. Використовується під час першого відкриття вікна програми. //2 - активує вікно в згорнутому режимі. //3 - Активізує вікно та розгортає на весь екран. //4 - Показує вікно у його новому розмірі та положенні. Активним залишається вікно. //5 - Активізує вікно та показує його у поточному розмірі. //6 - Мінімізує вікно та активізує наступне на панелі завдань. //7 - Вказує вікно як мінімізоване. Активне вікно залишається активним. //8 - Показує вікно у його поточному стані. Активне вікно залишається активним. //9 - Активізує та показує вікно. Якщо вікно мінімізоване або максимізоване, система відновлює його до оригінального розміру та положення. Використовується для відновлення мінімізованого вікна. //10 - показує вікно у тому-таки стані, як і вікно викликає програми. // - Прапор очікування завершення процесу. Можливі значення: 0 - не чекати на закінчення виконання команди; -1 - Чекати закінчення виконання команди. Чи не обов'язковий. За замовчуванням 0. / / Примітка: Запускати можна як додаток, так і будь-яку команду (аналогічно Пуск-Виконати). //Приклад: //WshShell = Новий COMОб'єкт("WScript.Shell"); //WshShell.Run("notepad",7,-1); WshShell = Новий COMОб'єкт("wscript.Shell"); //Вміст файлу ap.ini //open ftp://******:********@****************** // rm discount.txt //option transfer ascii //put D:\temp\discount.txt //close //exit КоманднаРядок = "" ПовертаєтьсяЗначення = WshShell.Run(КоманднийРядок, 1); WshShell = Невизначено; КінецьПроцедури

Ось те, що відноситься до зовнішнього ftp клієнта:

Команда для запуску скрипту:

D:\temp\WinSCP.com /script=D:\temp\ap.ini

Текст скрипту:

open ftp://**************:**************@*************** ****** // після собаки ай пі адресу, а не доменне ім'я
option transfer ascii
rm discount.txt
put D:\temp\discount.txt
close
exit

Результат виконання цього скрипту:

D:\temp>D:\temp\WinSCP.com /script=D:\temp\ap.ini
Connecting to ***************** ...
Connected with *********************. Waiting for welcome message...
Connected
Starting the session...
Reading remote directory...
Session started.
Active session: ************@***********************
transfer ascii
discount.txt
D:\temp\discount.txt | 42 KiB | 39,1 KiB/s | Ascii | 100%
Session "****************@***************" closed.
No session.

Я вирішив свої проблеми застосуванням клієнта WinSCP.com завдяки публікації Вивантаження файлів на SFTP

У цій статті наведено способи обходу помилок інтернет-з'єднань, якими я користуюся на практиці.

У моєму випадку проблема вирішувалася редагуванням файлу C:\WINDOWS\system32\drivers\etc\hosts "192.168.0.1 доменне ім'я сайту" на клієнті або на сервері - там, де працює регламентне завдання. Після цього запрацювали вбудовані інтернет-з'єднання 1С:

КаталогФайлівОбміну = "D:\temp\"; Ім'яФайлаВідповідь = КаталогФайлівОбмін + "cards.xml"; Заголовки = "discount.php"; ПроксиК = Невизначено; Спроба ПроксіК = Новий ІнтернетПроксі; ПроксиК.Встановити("http", ПроксиК.Сервер("http"), ПроксиК.Порт("http")); Виняток КінецьСпроби; ПроксиК.Користувач = "**********"; ПроксиК.Пароль = "************"; Коннект = Новий HTTPЗ'єднання ("доменне ім'я сайту", ПроксиК); Спроба Коннект.Отримати(Заголовки,Ім'яФайлаВідповіді); Коннект = Невизначено; Виняток Помилка = ОписПомилки(); Ф = Новий Текстовий документ; Ф.ДодатиСтроку(Помилка); Ф.Записати(Ім'яФайлаВідповіді); Ф = ""; КінецьСпроби;

Також допомогло редагування etc\hosts, після чого запрацювало з'єднання з публікації Відправка HTTP-рядка з обробкою відповіді

Спроба XMLHttp = GetCOMObject("", "Microsoft.XMLHTTP"); Виняток Помилка = ОписПомилки(); Ф = Новий Текстовий документ; Ф.ДодатиСтроку(Помилка); Ф.Записати("D:\temp\cards21.txt"); Ф = ""; Повернення; КінецьСпроби; Спроба XMLHttp.Open("GET", "http://доменнеім'ясайту/discount.php", Брехня); Виняток Помилка = ОписПомилки(); Ф = Новий Текстовий документ; Ф.ДодатиСтроку(Помилка); Ф.Записати("D:\temp\cards22.txt"); Ф = ""; Повернення; КінецьСпроби; XMLHttp.Send(); Якщо XMLHttp.Status = 200, тоді стор = ""; Спроба стор = XMLHttp.ResponseText; Виняток Стор = ОписПомилки(); КінецьСпроби; Ф = Новий Текстовий документ; Ф.ДодатиСтроку(Стор); Ф.Записати("D:\temp\cards23.txt"); Ф = ""; Інакше Ф = Новий Текстовий документ; Ф.ДодатиСтроку(XMLHttp.Status); Ф.Записати("D:\temp\cards24.txt"); Ф = ""; КінецьЯкщо;

Через компонент dialmail підключення проходить нормально, але змусити його працювати не вдалося:

//Якщо ЗавантажитиЗовнішнюКомпоненту(КаталогІБ() + "DialMail.dll") = 0 Тоді // Повідомити("Не вдалося завантажити компоненту DialMail.dll!"); // СтатусПовернення(0); // Повернення; //КінецьЯкщо; //Спроба // FTP = Створити Об'єкт("AddIn.FTP"); // FTP.Ім'яЛогФайлу = "c:\dialmail_ftp.log"; // FTP.ВестиЛогФайл = 1; // FTP.ВестиТехнічнийЛогФайл = 1; //Виняток // Повідомити("Не вдалося створити об'єкт з компоненти DialMail.dll!"); // СтатусПовернення(0); // Повернення; //КінецьСпроби; //FTP.Ім'яКористувачаПроксі = Ім'яКористувачаПроксі; //FTP.ПарольПроксі = ПарольПроксі; // FTP.ХостПроксі = ХостПроксі; // FTP.ПортПроксі = ПортПроксі; //// Якщо FTP.ВикористовуватиПроксі = 0 тоді //// всі вищевведені параметри не враховуються //FTP.ВикористовуватиПроксі = 2; // FTP. Використати SSL = 0; // FTP.NewRFC = 0; // FTP. Бінарний режим = 0; // FTP. Час До Розриву = 1000000; // Timeout //Якщо FTP.Підключитися(FTPСервер, // FTPПорт, // FTPКористувач, // FTPПароль, 0) = 0 Тоді // Попередження("Не змогли підключитися до FTP-серверу"); // Інакше // Підключено = 1; //КінецьЯкщо; //Повідомити(FTP.ВерсіяОбъектаСтр); //ТекФТПКаталог = FTP.ПоточнийКаталог();

28.03.13 13:44:01.500 FTP: Підключаємось до сокету
28.03.13 13:44:01.515 FTP: До сокету підключилися успішно
28.03.13 13:44:01.671 FTP 28.03.13 13:44:01.671 FTP --> USER 931013677
28.03.13 13:44:01.687 FTP 28.03.13 13:44:01.687 FTP --> PASS *****
28.03.13 13:44:01.703 FTP 28.03.13 13:44:01.703 FTP --> TYPE I
28.03.13 13:44:01.718 FTP 28.03.13 13:44:01.718 FTP --> STRU F
28.03.13 13:44:01.734 FTP 28.03.13 13:44:01.734 FTP --> REST 0
28.03.13 13:44:01.734 FTP 28.03.13 13:44:01.750 FTP --> REST 1
28.03.13 13:44:01.750 FTP 28.03.13 13:44:01.765 FTP --> REST 0
28.03.13 13:44:01.765 FTP 28.03.13 13:44:01.781 FTP --> PWD
28.03.13 13:44:01.781 FTP 28.03.13 13:44:02.968 FTP --> PWD
28.03.13 13:44:02.984 FTP 28.03.13 13:44:02.984 FTP --> PASV
28.03.13 13:44:03.000 FTP28.03.13 13:44:03.000 FTP --> LIST

при спробі завантажити файл на сервер йдуть помилки сокету 10054

Socket Error # 10054 Connection reset by peer

В інтернеті про цю помилку dialmail написано трохи, в основному що вона зустрічається, без способу вирішення. На сайті Гільова про цю помилку написано, що вона зустрічається у платформі: http://www.gilev.ru/10054/

Мій спосіб:

  1. winscp завантажується файл (працює навіть без редагування etc\hosts)
  2. curl-ом смикається http-посилання (хоча curl не працює без редагування etc\hosts)

Ось перелік основних принципових питань при вирішенні практичного завдання використання інтернет-з'єднання за допомогою зовнішнього клієнта, на які виявилося важливо звернути увагу.

Про curl дізнався у спеціалістів pradata.com
curl is command line tool for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet та TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling and a busload of other

Про winscp допомогла публікація Вивантаження файлів на SFTP

На сервері може бути відключена розшифровка dns адреси (як у моєму випадку), тому замість доменного імена сайту - цифрова адреса.

Текст процедури, яка у мене реально працює (перезаписую файл у тимчасовому локальному каталозі та заливаю на сервер):
Процедура Звіт (ТабДок, ДатаКон, ДатаНач) Експорт Ф = Новий ТекстовийДокумент; Ф.ДодатиСтроку("ШтрихКод;Період;СумаПокупки"); Файл="d:\temp\discount.txt"; Ф. Записати (Файл); // http://programna1c.narod.ru/docs/WSH/1C_WSH_WshShell.html //Run(,) Виконує команду. Основною перевагою є очікування закінчення роботи виконуваної команди. //Параметри: // - Виконувана команда. Задається у форматі DOS і довгі назви не підтримує. // - Число, в якому вказується варіант показу вікна, що запускається програми. Чи не обов'язковий. Можливі значення: //0 - Приховує вікно та активує інше; //1 - Активізує та показує вікно. Якщо вікно мінімізоване або максимізоване, система відновлює його до оригінального розміру та положення. Використовується під час першого відкриття вікна програми. //2 - активує вікно в згорнутому режимі. //3 - Активізує вікно та розгортає на весь екран. //4 - Показує вікно у його новому розмірі та положенні. Активним залишається вікно. //5 - Активізує вікно та показує його у поточному розмірі. //6 - Мінімізує вікно та активізує наступне на панелі завдань. //7 - Вказує вікно як мінімізоване. Активне вікно залишається активним. //8 - Показує вікно у його поточному стані. Активне вікно залишається активним. //9 - Активізує та показує вікно. Якщо вікно мінімізоване або максимізоване, система відновлює його до оригінального розміру та положення. Використовується для відновлення мінімізованого вікна. //10 - показує вікно у тому-таки стані, як і вікно викликає програми. // - Прапор очікування завершення процесу. Можливі значення: 0 - не чекати на закінчення виконання команди; -1 - Чекати закінчення виконання команди. Чи не обов'язковий. За замовчуванням 0. / / Примітка: Запускати можна як додаток, так і будь-яку команду (аналогічно Пуск-Виконати). //Приклад: //WshShell = Новий COMОб'єкт("WScript.Shell"); //WshShell.Run("notepad",7,-1); WshShell = Новий COMОб'єкт("wscript.Shell"); //Вміст файлу ap.ini //open ftp://******:********@****************** // rm discount.txt //option transfer ascii //put D:\temp\discount.txt //close //exit КоманднаРядок = "" ПовертаєтьсяЗначення = WshShell.Run(КоманднийРядок, 1); WshShell = Невизначено; КінецьПроцедури

Ось те, що відноситься до зовнішнього ftp клієнта:

Команда для запуску скрипту:

D:\temp\WinSCP.com /script=D:\temp\ap.ini

Текст скрипту:

open ftp://**************:**************@*************** ****** // після собаки ай пі адресу, а не доменне ім'я
option transfer ascii
rm discount.txt
put D:\temp\discount.txt
close
exit

Результат виконання цього скрипту:

D:\temp>D:\temp\WinSCP.com /script=D:\temp\ap.ini
Connecting to ***************** ...
Connected with *********************. Waiting for welcome message...
Connected
Starting the session...
Reading remote directory...
Session started.
Active session: ************@***********************
transfer ascii
discount.txt
D:\temp\discount.txt | 42 KiB | 39,1 KiB/s | Ascii | 100%
Session "****************@***************" closed.
No session.

Я вирішив свої проблеми застосуванням клієнта WinSCP.com завдяки публікації Вивантаження файлів на SFTP

Перше, що Вам потрібно зробити - це встановити безкоштовну програму WinSCP, завантажити її Ви зможете, також там є вся необхідна література з використання цієї програми.

Після того, як Ви встановили програму, Вам потрібно додати сесію, там все просто, прописуєте вузол, порт, логін та пароль до сервера.

Також пораджу Вам вести логи даної програми, щоб потім можна було будь-якої миті подивитися через що не стався обмін даними або перевіряти лог на успіх або не успіх синхронізації файлів. Для того щоб у Вас створювався лог потрібно зайти на закладку «Журналізація» встановити прапорець записувати у файл і вибрати шлях, ім'я файл раджу зробити таким чином!S!Y!M!D.txt, це означає, що кожен день буде створюватися новий файлдля лога з таким найменуванням S – ім'я сесії, Y – рік, M – місяць, D – день, тобто Вам потім буде набагато зручніше зчитувати дані з логів.

Тепер приступимо безпосередньо до програмування в 1с і для цього нам потрібно знати лише основні команди WinSCP, весь список яких можна подивитися на сайті програми. А я Вам наведу тільки ті команди, які використовував я і яких на мій погляд вистачить для того, щоб 1с успішно обмінювалося даними з sFTP або FTPs серверами. Також я напишу що, навіщо і в якій послідовності робив:

1. Перед тим як робити синхронізацію даних, потрібно перевірити чи взагалі є з'єднання з сервером, для цього ми робимо наступне:

Перевіримо З'єднання = """" + ШляхWinSCP + """" + " /console /command " + """option batch abort"" " + """open " + ПрофільWinSCP + """ " " " ""close"" "exit"";

net.Run(ПеревіримоСполука, 0, Істина);

де ШляхWinSCP - рядок - шлях до програми (c:\Program Files (x86)\WinSCP\WinSCP.com, Зверніть увагу, що розширення файлу має бути com), ПрофільWinSCP - рядок - профіль сесії, то як Ви назвали Вашу сесію, до прикладу test_sFTP.

2. Після того як ми виконали попередню команду, рекомендую робити наступне, шукати за датою лог WinSCP і перевіряти його, чи не було помилки в з'єднанні, варіантів як це зробити багато, але я робив так: з кінця тексту шукав рядок «Failed» , До того часу, поки не знаходив "Session name: "+ Профіль WinSCP", після цього пошук перериваємо, та й власне якщо був виявлений рядок "Failed", то при підключенні була помилка.

3. Робимо синхронізацію файлів:

РядокСинхронізація = """" + ШляхWinSCP + """" + " /console /command " + """option batch abort"" " + """open " + ПрофільWinSCP + """ " + """synchronize both " + КаталогНаСервере1С + " " + КаталогНаSFTPСервере + """ " + """ close"" ""exit""";

net = Новий COMОб'єкт ("WScript.Shell");

net.Run(РядокСинхронізація, 0, Істина);

Після цього знову перевіряємо балку.

Інші команди, які можуть Вам знадобитися:

Запис файлу на сервер SFTP:

РядокПрограми = """" + ШляхWinSCP + """" + " /console /command " + """option batch abort"" " + """open " + ПрофільWinSCP + """ " + """put " + КаталогНаСервере1С + "\" +ІмяФайла + " " + КаталогНаSFTPСервере + "/" + Ім'яФайла + """ " + """close"" ""exit""";

net = Новий COMОб'єкт ("WScript.Shell");

Копіювати файл із SFTP сервера:

РядокПрограми = """" + ШляхWinSCP + """" + " /console /command " + """option batch abort"" " + """open " + ПрофільWinSCP + """ " + """get " + КаталогНаSFTPСервері + "/" + Ім'яФайлаСтр + " " + КаталогНаСервере1С + "\" + """ " + """close"" ""exit""";

net = Новий COMОб'єкт ("WScript.Shell");

net.Run(РядокПрограми, 0, Істина);

Отримати список файлів на сервері SFTP і записати його у файл:

РядокПрограми = "cmd.exe /c """" + ШляхWinSCP + """ /console /command " + """option batch abort"" " + """open " + ПрофільWinSCP + """ " + "" "ls " + КаталогНаSFTPСервере + """""" + "" " " "" "" close""" + " > FMfiles.txt 2>&1" + "" " " " "" "exit""";

ЗапуститиДодаток(РядокПрограми, ШляхКЛогам, Істина, КодПовернення);




Завантаження...
Top