如何在WinSCP脚本中重命名从SFTP下载到Windows本地的文件
你遇到的报错是因为WinSCP内置的mv、rename命令默认用于操作远端SFTP服务器上的文件,执行时会在服务器的工作目录查找你传入的路径,你传入的是Windows本地路径,服务器端不存在对应文件,因此触发文件不存在报错。
方案1:下载时直接指定目标文件名(最优)
WinSCP的get命令支持直接在本地路径参数中指定最终文件名,无需下载完成后额外执行重命名操作,修改后的脚本如下:
option batch off option confirm off open sftp://username:password@servername -hostkey="" option transfer binary get -latest "oldname.csv" c:\localfolder\latestname.csv exit
方案2:调用本地系统命令执行重命名
如果确实需要在下载完成后单独执行重命名操作,需要在命令前加!前缀,告诉WinSCP后续命令是Windows本地系统命令,不需要发送到远端SFTP服务器执行,修改后的脚本如下:
option batch off option confirm off open sftp://username:password@servername -hostkey="" option transfer binary get -latest "oldname.csv" c:\localfolder !ren c:\localfolder\oldname.csv latestname.csv exit
内容的提问来源于stack exchange,提问作者Teja Goud Kandula
相关产品推荐
相关产品推荐

