"没有这样的文件或目录"使用百分号将本地文件与WinSCP同步到远程目录时

时间:2017-08-08 07:42:01

标签: powershell winscp winscp-net

我的文件名为%253csvg%2fonload=alert(1)%253e.jpg-131x94

我正在尝试使用WinSCP .NET程序集Session.SynchronizeDirectories

将文件同步到远程服务器

我收到错误

  

"没有这样的文件或目录"

但是我发现错误中的文件名是%3csvg/onload=alert(1)%3e.jpg-131x94,其中一些单词缺失了。

我使用的是WinSCP 5.9.6产品版本。

$FTPSourceFolder = "D:\...\00"
$FTPDestionationFolder = "/storage/../00"

$synchronizationResult = $session.SynchronizeDirectories(
    [WinSCP.SynchronizationMode]::Remote, $FTPSourceFolder,$FTPDestionationFolder, $True, $False) 
$synchronizationResult.check()  

1 个答案:

答案 0 :(得分:1)

默认情况下,WinSCP会对本地文件名进行URL解码。

如果您不想这样,可以关闭此功能:

$session.AddRawConfiguration("Interface\CopyParam\ReplaceInvalidChars", "0")

参考文献: