Создание каталога на удаленном FTP с использованием powershell - PullRequest
5 голосов
/ 21 апреля 2011

Я могу поместить файл на удаленный FTP с измененной версией ...

          $File = "D:\Dev\somefilename.zip"
          $ftp = "ftp://username:password@example.com/pub/incoming/somefilename.zip"

           "ftp url: $ftp"

          $webclient = New-Object System.Net.WebClient
          $uri = New-Object System.Uri($ftp)

          "Uploading $File..."

          $webclient.UploadFile($uri, $File)

Я столкнулся с проблемой, что я пытаюсь загрузить файл в каталог, который не существует, пут не удается. Поэтому мне нужно сначала создать целевой каталог. GET-MEMBER, похоже, не показать любые методы, которые я могу вызвать для создания каталога, только файловые операции.

1 Ответ

7 голосов
/ 21 апреля 2011

Я использую функцию Create-FtpDirectory

function Create-FtpDirectory {
  param(
    [Parameter(Mandatory=$true)]
    [string]
    $sourceuri,
    [Parameter(Mandatory=$true)]
    [string]
    $username,
    [Parameter(Mandatory=$true)]
    [string]
    $password
  )
  if ($sourceUri -match '\\$|\\\w+$') { throw 'sourceuri should end with a file name' }
  $ftprequest = [System.Net.FtpWebRequest]::Create($sourceuri);
  $ftprequest.Method = [System.Net.WebRequestMethods+Ftp]::MakeDirectory
  $ftprequest.UseBinary = $true

  $ftprequest.Credentials = New-Object System.Net.NetworkCredential($username,$password)

  $response = $ftprequest.GetResponse();

  Write-Host Upload File Complete, status $response.StatusDescription

  $response.Close();
}

Взято из Ftp.psm1 , где вы можете найти и другие функции для FTP.

Другим: извините за то, что не следовал хорошо известному образцу глагола.;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...