Created
June 1, 2011 22:48
-
-
Save chardcastle/1003539 to your computer and use it in GitHub Desktop.
Upload files (recursive) via powershell
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Automate FTP uploads | |
## Go to destination | |
cd C:\Test | |
$location = Get-Location | |
"We are here: $location" | |
## Get files | |
$files = Get-ChildItem -recurse | |
## Get ftp object | |
$ftp_client = New-Object System.Net.WebClient | |
$ftp_address = "ftp://user:pass@adress:/home/chardcastle/test" | |
## Make uploads | |
foreach($file in $files) | |
{ | |
$directory = ""; | |
$source = $file.DirectoryName + "\" + $file; | |
if ($File.DirectoryName.Length -gt 0) | |
{ | |
$directory = $file.DirectoryName.Replace($Location,"") | |
} | |
$Directory += "/"; | |
$FtpCommand = $ftp_address + $directory + $file | |
$uri = New-Object System.Uri($ftp_command) | |
"Command is " + $uri + " file is $source" | |
$ftp_client.UploadFile($uri, $source) | |
} |
This is a really great script. Helped me save a lot of time. Fakir Hossain
Line 24, remove the underscore
I get the following Error, can you please help ?
New-Object : A constructor was not found. Cannot find an appropriate
constructor for type System.Uri.
At C:\Script\ftp-upload.ps1:35 char:12
-
$uri = New-Object System.Uri($ftp_command)
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CategoryInfo : ObjectNotFound: (:) [New-Object], PSArgumentExce
ption - FullyQualifiedErrorId : CannotFindAppropriateCtor,Microsoft.PowerShell.C
ommands.NewObjectCommand
- CategoryInfo : ObjectNotFound: (:) [New-Object], PSArgumentExce
This script is not working and wasted 1 hour, Use this script, https://www.kittell.net/code/powershell-ftp-upload-directory-sub-directories/ (it just works great) for me
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
$FtpCommand and $ftp_command...