懒才是第一生产力,有个用户经常需要上传一些文件到FTP上,不胜其烦,苦于没有好方法,只能默默忍受。 为了帮助他释放双手,这里写了一个批量上传文件到FTP服务器的脚本
Function Upload-FTPFile{ #定义参数 param( $FTPServer, $Folder ) $WebClient = New-Object System.Net.WebClient $WebClient.Credentials = New-Object System.Net.NetworkCredential("anonymous","anonymous@localhost") #筛选上次写入时间在10分钟后的文件(因为我的脚本是10分钟的执行间隔) $Files = Get-ChildItem -LiteralPath $Folder -Recurse -File | Where-Object {$.LastWriteTime -ge (Get-Date).AddMinutes(-10)} #遍历文件,定义URI,然后执行上传文件的方法 $Files | Foreach { $URI = New-Object System.Uri($FTPServer+$.Name) $WebClient.UploadFile($URI, $_.FullName) } } #执行! Upload-FTPFile -FTPServer ftp://127.0.0.1:2121/reportfile/ -Folder "\192.168.0.1\C$\reportfile"