You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinSCP技术问题:如何在WinSCP PowerShell脚本中添加PowerShell变量?

WinSCP脚本中日志路径与本地目录变量的正确用法

你当前的脚本存在两处关键语法错误,修正后即可正常使用变量:

错误点说明

  • /log 参数格式错误:参数名和值之间不能加空格,且路径变量需要用双引号包裹(避免路径含空格时解析失败),原写法/log = $logPath是错误的。
  • lcd 命令缺失关键字:直接写$lcdPath无法被WinSCP识别为切换本地目录的操作,必须明确加上WinSCP的lcd命令关键字,格式应为"lcd $lcdPath"。

修正后的完整脚本

$logPath = "c:\LogPath"
$lcdPath = "c:\lcdPath"

& "C:\Program Files (x86)\WinSCP\WinSCP.com" `  
  "/log=`"$logPath`"" /ini=nul `
  /command `
    "open ftpSite -hostkey=`"`"hostKey`"`" -rawsettings FSProtocol=2" `
    "cd ftpFilePath" `
    "lcd $lcdPath" `
    "get * -filemask=*>=1D" `
    "exit"

额外说明

  • 日志路径的引号处理:"/log="$logPath"" 是PowerShell中嵌套双引号的写法,确保WinSCP能正确解析带空格的路径(如果你的路径不含空格,也可以简化为/log=$logPath,但加引号更通用)。
  • lcd命令:"lcd $lcdPath" 明确告诉WinSCP执行切换本地工作目录的操作,变量作为命令的参数传入。

内容的提问来源于stack exchange,提问作者JM1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 23:45:45