麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 操作系統 > 正文

PowerShell之FTP文件上傳

2024-06-28 16:04:44
字體:
來源:轉載
供稿:網友

PowerShell之FTP文件上傳

我的另一篇博文講了怎樣編寫PowerShell腳本進行SFTP下載,FTP與SFTP大同小異,所以就講講FTP上傳。本例是基于WinSCP的,所以需要下載一個WinSCPnet.dll動態文件。

我們通過一個xml配置文件配置ip,用戶名,密碼,上傳目錄等配置項,降低代碼耦合。

本例中,我們將數據放在data文件夾下,腳本放在scripts文件夾下(假設本地文件目錄和遠程目錄為E:/test/path/data,腳本目錄為E:/test/path/scripts/)。

下面是upload.xml配置文件內容:

<?xml version="1.0" ?><ftpConfig> <PRotocol>ftp</Protocol> <HostName>127.0.0.1</HostName> <UserName>admin</UserName> <PassWord>Password</Password> <RemotePath>/e/test/path/data/</RemotePath> <LocalPath>e:/test/path/data/</LocalPath></ftpConfig>

下面是PowerShell腳本代碼(upload.ps1):

param ( $xmlData=[xml](Get-Content "E:/test/path/scripts/upload.xml"), $localPath = $xmlData.ftpConfig.LocalPath, $remotePath = $xmlData.ftpConfig.RemotePath, $dataFile = (Get-Date).toString("yyyy-MM-dd")+".txt", #數據文件 $flagFile = "flag_"+(Get-Date).toString("yyyyMMdd")+".txt" #標志文件)#等待10sfunction wait10sec{ $step=10 $add=0 $t=(get-date) $step-(($t.Hour*3600+$t.Minute*60+$t.Second)%$step)+$add}try{ # Load WinSCP .NET assembly Add-Type -Path "E:/test/path/scripts/WinSCPnet.dll" # Setup session options $sessionOptions = New-Object WinSCP.SessionOptions $sessionOptions.Protocol = [WinSCP.Protocol]$xmlData.ftpConfig.Protocol $sessionOptions.HostName = $xmlData.ftpConfig.HostName $sessionOptions.UserName = $xmlData.ftpConfig.UserName $sessionOptions.Password = $xmlData.ftpConfig.Password $session = New-Object WinSCP.Session try { # Connect $session.Open($sessionOptions) # Detect the flag file (10s檢測一次標志文件是否存在) while(! (Test-Path($localPath+$flagFile))){ Get-Date Start-Sleep -s (wait10sec) } write-host "Start uploading..." $session.PutFiles($localPath+$dataFile,$remotePath).Check() write-host "End upload" } finally { # Disconnect, clean up $session.Dispose() } exit 0}catch [Exception]{ Write-Host ("Error: {0}" -f $_.Exception.Message) exit 1}

在代碼中我們通過設置標志文件來進行數據文件自動上傳,這種方式在文件傳輸跑批流程中比較適用,比如我有5G的數據文件需要傳輸,什么時候可以傳輸結束?這時我們可以在傳輸結束后生成一個標志文件(可以是空文件),在下一個文件傳輸環節中我只需要檢測標志文件是否生成,以此判斷數據文件是否全部傳輸。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: tube7xxx| 日本视频在线免费观看 | 一区二区久久久久草草 | 免费放黄网站在线播放 | 国产日本在线 | 免费国产人成网站 | 黄a大片 | 国产成人精品区 | 成年免费大片黄在线观看岛国 | 九九热精 | 中文字幕电影免费播放 | 欧美日韩手机在线观看 | 国产免费一区二区三区最新不卡 | 久久精品视频在线免费观看 | 美女福利视频国产 | 国产成人精品午夜视频' | 久久久www成人免费毛片 | 国产一区二区三区在线免费 | xxx18hd18hd日本| 久久久久免费电影 | 久久久久久久久久亚洲精品 | 欧美亚洲国产成人 | 一级毛片大片 | 欧美一区二区精品夜夜嗨 | 国内精品视频饥渴少妇在线播放 | 精品国产一区二区三区久久久 | www.99xxxx.com| 一级观看免费完整版视频 | 视频一区二区国产 | 欧美人与牲禽动交精品一区 | 福利在线免费视频 | 中国美女一级黄色大片 | 久久国产精品电影 | 视频在线色| 特黄一级小说 | 毛片a片免费看 | 国产一区二区在线免费观看 | 日韩 欧美 中文 | 87成人免费看片 | v11av在线视频成人 | 日本a大片 |