如何用WinSCP脚本将远程子目录文件下载至本地单目录(去子目录)
WinSCP脚本修改方案
要将远程服务器/home3/cam4/及其子目录下的所有mp4、mkv文件平级存储到本地K:\in目录,只需修改get命令的参数,添加扁平化下载和递归遍历选项:
修改后的脚本
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^ /log="C:\Users\MediaServer\Desktop\winscp.log" /ini=nul ^ /command "open sftp://%SFTP_USER%:%SFTP_PASSWORD%@%SFTP_HOST% -hostkey=""%HOSTKEY%""" ^ "cd /home3/cam4/" ^ "lcd K:/in"^ "get -flat -r -filemask=*.mp4;*.mkv *"^
参数说明
-flat:核心参数,强制忽略远程目录结构,所有下载文件直接存入本地当前目录(即K:\in),不会创建嵌套子文件夹-r:递归遍历远程目录的所有子层级,确保抓取到/home3/cam4/下所有嵌套目录里的目标文件-filemask=*.mp4;*.mkv:仅筛选指定格式的文件,避免下载无关内容
补充提示
如果远程存在同名文件,WinSCP默认会弹出覆盖确认提示。若需自动处理,可在get命令后添加-overwrite(强制覆盖)或-resume(续传/跳过已存在文件)参数,例如:
"get -flat -r -overwrite -filemask=*.mp4;*.mkv *"
内容的提问来源于stack exchange,提问作者theMezz
相关产品推荐
相关产品推荐

