如何编写BAT文件通过连接配置运行WS_FTP PRO wsftppro.exe命令行?
解决WS_FTP PRO命令行执行失败的问题
错误原因分析
- 最初的命令错误地将站点名称和远程路径合并在
-d参数中(用冒号分隔),导致WS_FTP把包含空格、冒号的整个字符串识别为MVS路径,违反了MVS DSN命名规范,触发Use MVS Dsname conventions错误。 - 后续尝试添加单引号时,仍沿用错误的参数格式,导致WS_FTP无法定位正确的远程资源,触发
Remote path not found错误。
正确的BAT文件命令格式
使用-site参数单独指定已保存的连接配置名称,-d参数仅填写符合MVS规范的DSN路径:
方案1:无特殊字符的MVS DSN
如果你的DSN(INTAKE.UP.CLIENTS.C0000)不含空格或特殊字符,直接使用以下命令:
@echo off "c:\Program Files (x86)\Ipswitch\WS_FTP 12\wsftppro.exe" -site "CJ PRODUCTION UPLOAD" -s "local:c:\FTP\CLIENT\CLIENTS.C0000" -d "INTAKE.UP.CLIENTS.C0000"
方案2:需单引号限定的MVS DSN
如果MVS要求DSN用单引号包裹(比如含特殊字符、需区分大小写),在-d参数中用双引号包裹带单引号的DSN:
@echo off "c:\Program Files (x86)\Ipswitch\WS_FTP 12\wsftppro.exe" -site "CJ PRODUCTION UPLOAD" -s "local:c:\FTP\CLIENT\CLIENTS.C0000" -d "'INTAKE.UP.CLIENTS.C0000'"
额外注意事项
- 确保
-site参数后的站点名称与WS_FTP UI中保存的连接配置名称完全一致(包括空格和大小写)。 - 如果传输的是MVS分区数据集(PDS)的成员,远程路径格式应为
'PDS.NAME(MEMBER)',例如:-d "'INTAKE.UP.CLIENTS(C0000)'"(若C0000是成员名而非数据集后缀)。 - 若仍报错,可添加日志参数排查细节:
@echo off "c:\Program Files (x86)\Ipswitch\WS_FTP 12\wsftppro.exe" -site "CJ PRODUCTION UPLOAD" -s "local:c:\FTP\CLIENT\CLIENTS.C0000" -d "'INTAKE.UP.CLIENTS.C0000'" -log "c:\ftp_log.txt"
内容的提问来源于stack exchange,提问作者Ravi Ram
相关产品推荐
相关产品推荐

