Включить учетные данные общей папки в файл сценария WinSCP

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

open ftps://ftpuser:password@hostname/ -explicit -certificate="key"
cd Results
lcd \\networkname\sharedfolder\folder\ 
put *

Это приводит к ошибке, которая:

Ошибка смены каталога на "...".

Любая идея? Спасибо

1 ответ

Решение

Возникающая ошибка "Ошибка смены каталога", скорее всего, вызвана lcd командование В Windows текущий рабочий каталог не может быть UNC-путем (\\networkname).

Вместо изменения текущего рабочего каталога загрузите файл, указав полный путь:

open ftps://ftpuser:password@hostname/ -explicit -certificate="key"
cd Results
put \\networkname\sharedfolder\folder\*

Однако, если вам действительно нужны учетные данные для доступа к пути UNC (\\networkname), вы должны пройти аутентификацию до запуска скрипта WinSCP.

Пакетный файл будет выглядеть так:

net use \\networkname\sharedfolder password /user:domain\username /savecred /p:yes

winscp.com /script=... /log=...

net use \\networkname\sharedfolder /delete

Кредиты: Как создать MAP Drive по пакетному файлу.

Вам все еще нужно использовать полный путь с put команда вместо lcd хоть. Если вы не сопоставите путь UNC с буквой диска.

Другие вопросы по тегам