Guest User

Untitled

a guest
Feb 19th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. clear
  2.  
  3. # FTP Server Variables
  4. $FTPHost = 'ftp://192.168.1.1/html/'
  5. $FTPUser = 'user'
  6. $FTPPass = 'password'
  7.  
  8. #Directory where to find pictures to upload
  9. $UploadFolder = "C:\Temp\"
  10.  
  11. $webclient = New-Object System.Net.WebClient
  12. $webclient.Credentials = New-Object System.Net.NetworkCredential($FTPUser,$FTPPass)
  13.  
  14. $SrcEntries = Get-ChildItem $UploadFolder -Recurse
  15. $Srcfolders = $SrcEntries | Where-Object{$_.PSIsContainer}
  16. $SrcFiles = $SrcEntries | Where-Object{!$_.PSIsContainer}
  17.  
  18. # Create FTP Directory/SubDirectory If Needed - Start
  19. foreach($folder in $Srcfolders)
  20. {
  21. $SrcFolderPath = $UploadFolder -replace "\\","\\" -replace "\:","\:"
  22. $DesFolder = $folder.Fullname -replace $SrcFolderPath,$FTPHost
  23. $DesFolder = $DesFolder -replace "\\", "/"
  24. # Write-Output $DesFolder
  25.  
  26. try
  27. {
  28. "Creating directory " + $DesFolder
  29.  
  30. $makeDirectory = [System.Net.WebRequest]::Create($DesFolder);
  31. $makeDirectory.Credentials = New-Object System.Net.NetworkCredential($FTPUser,$FTPPass);
  32. $makeDirectory.Method = [System.Net.WebRequestMethods+FTP]::MakeDirectory;
  33. $makeDirectory.GetResponse();
  34. #folder created successfully
  35. }
  36. catch [Net.WebException]
  37. {
  38. try {
  39. #if there was an error returned, check if folder already existed on server
  40. $checkDirectory = [System.Net.WebRequest]::Create($DesFolder);
  41. $checkDirectory.Credentials = New-Object System.Net.NetworkCredential($FTPUser,$FTPPass);
  42. $checkDirectory.Method = [System.Net.WebRequestMethods+FTP]::PrintWorkingDirectory;
  43. $response = $checkDirectory.GetResponse();
  44. #folder already exists!
  45. }
  46. catch [Net.WebException] {
  47. #if the folder didn't exist
  48. }
  49. }
  50. }
  51. # Create FTP Directory/SubDirectory If Needed - Stop
  52.  
  53. # Upload Files - Start
  54. foreach($entry in $SrcFiles)
  55. {
  56. $SrcFullname = $entry.fullname
  57. $SrcName = $entry.Name
  58. $SrcFilePath = $UploadFolder -replace "\\","\\" -replace "\:","\:"
  59. $DesFile = $SrcFullname -replace $SrcFilePath,$FTPHost
  60. $DesFile = $DesFile -replace "\\", "/"
  61. # Write-Output $DesFile
  62.  
  63. "Uploading file " + $DesFile
  64.  
  65. $uri = New-Object System.Uri($DesFile)
  66. $webclient.UploadFile($uri, $SrcFullname)
  67. }
  68. # Upload Files - Stop
Add Comment
Please, Sign In to add comment