在 WinSCP 脚本文件中包含共享文件夹的凭据

Include credentials of shared folder in WinSCP script file

为了访问远程共享文件夹,我需要输入用户名和密码。但是,我不知道将它放在我的 WinSCP 代码中的什么位置。

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

这会产生一个错误:

Error changing directory to '...'.

有什么想法吗?谢谢

您遇到的错误 "Error changing directory" 很可能是由 lcd command 引起的。在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

致谢:How to create MAP Drive by batch file.

你仍然需要使用带有 put command 的完整路径,而不是 lcd。除非您将 UNC 路径映射到驱动器号。