创建可能部分存在于 WinSCP 409 冲突中的目录结构



我使用 WinSCP + Powershell 自动将 Jenkins 的构建结果传输到我们的共享服务器,以便 QA 和开发团队可以轻松访问它。

WinSCP是必需的,因为它只能通过Webdav协议传输。不用担心!!

假设我需要在远程服务器上创建的目录是

MyProduct/BuildOutput/bin

现在,如果我在完全缺少文件夹结构的情况下执行以下命令 a,它可以完美运行。

$session.CreateDirectory("MyProduct/BuildOutput/bin")

但是,如果说"MyProduct/BuildOutput"结构已经存在,但缺少"bin",WinSCP会给出409冲突错误。

有没有办法创建一个已经部分存在的完整目录结构,而不必编写复杂的程序来执行此操作?

WinSCPCreateDirectory方法不支持创建整个目录结构。只是单个目录。您必须自己构建结构。试试这样一种方式:

[Array]$dir = 'hello/this/is/test/directory/structure' -split '/'
$path = [System.String]::Empty
for ($i=0; $i-lt $dir.Count; $i++){
if ($i -lt $dir.Count){$path+= $dir[$i] + '/'}
$session.CreateDirectory($path)
}

最新更新