Powershell正在下载给定日期的所有可能文件
我第一次使用Powershell从客户端的网页下载前一天的文件。该网页来自数据记录器,而不是供应商撬块上的数据记录器。数据记录器始终以Powershell正在下载给定日期的所有可能文件,powershell,csv,download,wildcard,Powershell,Csv,Download,Wildcard,我第一次使用Powershell从客户端的网页下载前一天的文件。该网页来自数据记录器,而不是供应商撬块上的数据记录器。数据记录器始终以yyMMdd##;#.CSV格式保存文件,其中##是给定日期(从00开始)的序列号文件。查看网页时,我只看到给定日期的最大CSV文件数为1(因此,8/31/17的文件为17083100.CSV)。我已经编写了Powershell代码,以提供昨天的文件,假设00是当天的唯一文件,但我希望有一种方法可以使用通配符或for循环下载前一天可能存在的任何其他文件。请参阅下面
yyMMdd##;#.CSV
格式保存文件,其中##
是给定日期(从00开始)的序列号文件。查看网页时,我只看到给定日期的最大CSV文件数为1(因此,8/31/17的文件为17083100.CSV)。我已经编写了Powershell代码,以提供昨天的文件,假设00是当天的唯一文件,但我希望有一种方法可以使用通配符或for循环下载前一天可能存在的任何其他文件。请参阅下面的代码了解我当前拥有的内容:
$a = "http://10.109.120.101/logs/Log1/"
$b = (get-date).AddDays(-1).ToString("yyMMdd") + "00.CSV"
$c = "C:\"
$url = "$a$b"
$WebClient = New-Object net.webclient
$path = "$c$b"
$WebClient.DownloadFile($url, $path)
试着这样做:
$Date=(get-date).AddDays(-1).ToString("yyMMdd")
$URLFormat ='http://10.109.120.101/logs/Log1/{0}{1:D2}.CSV'
$WebClient = New-Object net.webclient
#build destination path
$PathDest="C:\Temp\$Date"
New-Item -Path $PathDest -ItemType Directory -ErrorAction SilentlyContinue
1..99 | %{
$Path="$PathDest\{0:D2}.CSV" -f $_
$URL=$URLFormat -f $Date, $_
try
{
Write-Host ("Try to download '{0}' file to '{1}'" -f $URL, $Path)
$WebClient.DownloadFile($Path, $URL)
}
catch
{
}
}
$WebClient.Dispose()