WinSCP 使用相对路径 PUT/上传

WinSCP 使用相对路径 PUT/上传

尝试将文件上传到 FTP 时,我总是失败。使用以下配置:

#connect ftp
open ftpes://...

#copy  file
put .\\..\\Java\\WebApp\\target\\PROD-*.zip /project/produktion/

#clean exit
exit

但是当我使用以下配置时它可以工作:

#connect ftp
open ftpes://...

#copy  file
put C:\\svn\\project\\branch\\Java\\WebApp\\target\\PROD-*.zip /project/produktion/

#clean exit
exit

有人可能会说,只要切换到 GIT,问题就会少一些。不错的尝试,但这是我无法控制的。

现在我已经浏览过 WinSCP 网站但没有找到任何答案。

如何使用相对路径上传文件?是否可以使用相对路径?有什么解决方法吗?

更新/附加信息:

我当前在 SVN 上的项目结构看起来是这样的:

Project
 |    
 +-- java
 |  |  
 |  +-- myproject
 |    
 +-- script
 |  |  
 |  +-- deploy.cmd
 |  +-- winscp.script
 |    
 +-- tools
 |  |  
 +  |-- winscp

我对此并不满意,因为现在 WinSCP 将包含在每个分支中。但这似乎是使用 WinSCP 使 deploy.cmd 脚本正常运行的唯一方法。

我的 deploy.cmd 看起来像这样

@echo on
set pathX=.\..

@echo svn update
svn update %pathX%

@echo mvn build PL
call mvn -f %pathX%\Java clean install

@echo uploading FTP
.\..\tools\winscp\winscp.com /ini=nul /script=winscp.script

@pause

我的 winscp.script 如下

#connect ftp
open ftpes://......

#upload file
put .\\..\\..\\Java\\myproject\\target\\*.zip /myproject/

#clean exit
exit

但仍然找不到该文件。

答案1

您可以在 WinSCP 中使用相对路径。

如果它不起作用,那么工作目录与您想象的不同。

初始工作目录取决于您如何启动 WinSCP。您没有告诉我们有关这方面的任何信息。所以我无法更具体。

WinSCP 在其日志文件的开头记录其工作目录:

. 2020-03-12 13:13:49.814 --------------------------------------------------------------------------
. 2020-03-12 13:13:49.823 WinSCP Version 5.17.2 (Build 10278) (OS 10.0.18363 - Windows 10 Enterprise)
. 2020-03-12 13:13:49.823 Configuration: HKCU\Software\Martin Prikryl\WinSCP 2\
. 2020-03-12 13:13:49.824 Log level: Normal
. 2020-03-12 13:13:49.824 Local account: DOMAIN\user
. 2020-03-12 13:13:49.824 Working directory: C:\Users\user\Documents
...

相关内容