尝试将文件上传到 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
...