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

WinSCP stat命令提示FileNotFound但ls可见文件的问题咨询

问题描述

在PowerShell环境中,当$File变量值为"/path/to/FileName.csv"时,执行以下WinSCP命令:

& "C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open sftp://username:password@server/" "stat $File" "exit"

返回错误信息:

Can't get attributes of file "/path/to/FileName.csv" No such file or directory. Error code: 2 Error message from server (en): FileNotFound: The supplied file does not exist.

但执行ls命令却能正常看到该目标文件,且路径与文件名完全匹配并区分大小写:

& "C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open sftp://username:password@server/" "ls /path/to/FileName.csv" "exit"
问题原因与解决办法
  • PowerShell变量解析与引号转义问题:原命令中stat $File的路径未被引号包裹,部分场景下WinSCP无法正确识别完整路径。可在PowerShell中转义双引号,确保路径被包裹后传递给WinSCP,修改命令为:

    & "C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open sftp://username:password@server/" "stat ""$File""" "exit"
    

    这里用""表示PowerShell中的转义双引号,最终WinSCP会收到stat "/path/to/FileName.csv"的命令。

  • SFTP服务器命令实现差异:部分SFTP服务器对stat和ls的路径处理逻辑不同——ls可能兼容符号链接、隐性路径前缀等情况,而stat要求完全精确的物理路径匹配。可执行ls -l /path/to/FileName.csv查看文件完整属性,确认是否存在符号链接,若有则需使用链接指向的实际物理路径执行stat。

  • WinSCP工作目录干扰:少数情况下,WinSCP连接后的默认工作目录可能导致绝对路径解析异常。可在open命令后添加cd /切换到根目录,再执行stat:

    & "C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open sftp://username:password@server/" "cd /" "stat $File" "exit"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 10:51:12