|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Скачать с FTP свежий файл |
|
||||
|
|
PowerShell - [решено] Скачать с FTP свежий файл
|
|
Пользователь Сообщения: 69 |
Всем доброго времени суток!
Возникла нужда, скачать файлы с FTP. Прошу всех кто связывался с этим помочь. Спасибо заранее! Задача: 1. подключится к FTP 2. Скачать свежий *.ZIP файл с FTP на локальный компьютер. 3. Распаковать *.ZIP в файл. 4. Поменять расширение (Пример.exe на .bat) 5. удалить *.ZIP файл с локального компьютера 6. Закрыть с сообщением файл успешно скопирован! Еще раз спасибо заранее! |
|
|
Отправлено: 05:55, 17-04-2015 |
|
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Нашел тут скрипт только он на CMD\BAT script CMD
|
|
Отправлено: 09:02, 17-04-2015 | #2 |
|
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Качаем модуль FTP - https://gallery.technet.microsoft.co...lient-db6fe0cb
# Импортируем модуль
Import-module C:\PSFTP
# Папка для файлов
$folder = "C:\test"
# Подключение к фтп
$pass = ConvertTo-SecureString 'ftp' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("ftp",$pass)
Set-FTPConnection -Credentials $cred -Server ftp://ftp.contoso.ru -Session Session -UsePassive
# Скачиваем файл
Get-FTPChildItem zipfiles/*.zip -Session $Session | Where {$_.Name} | Sort ModifiedDate | Select -Last 1 | Foreach {
$filename = "$folder\$($_.Name)"
$r = Get-FTPItem -Path $_.FullName -Session $Session -LocalPath $filename -Overwrite
if(Test-Path $filename) {
$shell = New-Object -ComObject Shell.Application
$zip = $shell.NameSpace($filename).items()
try {
$shell.Namespace($folder).CopyHere($zip)
Get-Item "$folder\$($zip.Item(0).Name)" | Rename-Item -NewName {$_.basename + ".bat"}
Remote-Item $filename -Force
Write-Host "Файл успешно скопирован!" -ForeGround Yellow
}
catch {
Write-Host "Файл скопировать не удалось!" -ForeGround Red
}
}
}
|
|
Отправлено: 11:03, 17-04-2015 | #3 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Kazun, не могу понять цель использования фильтра «Where {$_.Name}». Можете пояснить?
|
|
Отправлено: 11:13, 17-04-2015 | #4 |
|
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Есть часть данных, которые не должны попадать в вывод( по крайне мере когда я тестировал).
PS > Get-FTPChildItem ubuntu-releases/15.04/*.torrent -Session $Session | Sort ModifiedDate
Parent: ftp://mirror.yandex.ru/ubuntu-releases/15.04
Dir Right Ln User Group Size ModifiedDate Name
--- ----- -- ---- ----- ---- ------------ ----
- rw-rw-r-- 1 ftp ftp 43KB 26.03.2015 22:24:00 ubuntu-15.04-beta2-desktop-amd64.iso.torrent
- rw-rw-r-- 1 ftp ftp 45KB 26.03.2015 22:24:00 ubuntu-15.04-beta2-desktop-i386.iso.torrent
- rw-rw-r-- 1 ftp ftp 24KB 26.03.2015 22:28:00 ubuntu-15.04-beta2-server-amd64.iso.torrent
- rw-rw-r-- 1 ftp ftp 24KB 26.03.2015 22:28:00 ubuntu-15.04-beta2-server-i386.iso.torrent
ftp://mirror.yandex.ru/ubuntu-releases/15.04/ubuntu-15.04-beta2-desktop-amd64.iso.torrent
PS > Get-FTPChildItem ubuntu-releases/15.04/*.torrent -Session $Session | Sort ModifiedDate | Select -L
ast 1
ftp://mirror.yandex.ru/ubuntu-releases/15.04/ubuntu-15.04-beta2-desktop-amd64.iso.torrent
PS > Get-FTPChildItem ubuntu-releases/15.04/*.torrent -Session $Session | Where {$_.Name} | Sort Modifi
edDate | Select -Last 1
Parent: ftp://mirror.yandex.ru/ubuntu-releases/15.04
Dir Right Ln User Group Size ModifiedDate Name
--- ----- -- ---- ----- ---- ------------ ----
- rw-rw-r-- 1 ftp ftp 24KB 26.03.2015 22:28:00 ubuntu-15.04-beta2-server-amd64.iso.torrent
|
|
|
Отправлено: 11:17, 17-04-2015 | #5 |
|
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 11:23, 17-04-2015 | #6 |
|
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать $pass = ConvertTo-SecureString 'PASSOWRD' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("USERNAME",$pass) |
|
Отправлено: 11:24, 17-04-2015 | #7 |
|
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 11:31, 17-04-2015 | #8 |
|
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Вывод:
$shell.NameSpace($filename).items() $filename - заменить на путь к скаченному архиву. |
|
Отправлено: 11:38, 17-04-2015 | #9 |
|
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 11:44, 17-04-2015 | #10 |
|
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| .NET - Скачать файлы с ftp по маске. | Sadhacker | Программирование и базы данных | 1 | 20-07-2012 21:23 | |
| Прочее - [решено] Как скачать ftp архив с linux? | dima1981 | Общий по Linux | 12 | 18-04-2009 15:24 | |
| [решено] Как скачать с ftp сервера | medvedkovo | Хочу все знать | 8 | 01-10-2008 19:12 | |
| не получается скачать с ftp-серверов | Turman | Хочу все знать | 19 | 05-04-2005 16:24 | |
| Не могу скачать файл с ftp. Что делать? | AlexanderS2004 | Хочу все знать | 3 | 23-08-2004 15:17 | |
|