我正在开发一个PowerShell脚本,它将从FTP站点提取文件.文件每小时上传到FTP站点,所以我需要下载最新的文件.我目前的代码下载了今天的所有文件而不是一个文件.如何使其仅下载最新文件?
这是我目前使用的代码
$ftpPath = 'ftp://***.***.*.*'
$ftpUser = '******'
$ftpPass = '******'
$localPath = 'C:\Temp'
$Date = get-date -Format "ddMMyyyy"
$Files = 'File1', 'File2'
function Get-FtpDir ($url, $credentials)
{
$request = [Net.FtpWebRequest]::Create($url)
if ($credentials) { $request.Credentials = $credentials }
$request.Method = [System.Net.WebRequestMethods+FTP]::ListDirectory
(New-Object IO.StreamReader $request.GetResponse().GetResponseStream()) -split "`r`n"
}
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential($ftpUser,$ftpPass)
$webclient.BaseAddress = $ftpPath
Foreach ( $item in $Files )
{
Get-FTPDir $ftpPath $webclient.Credentials |
? { $_ -Like $item+$Date+'*' } |
% {
$webClient.DownloadFile($_, (Join-Path …Run Code Online (Sandbox Code Playgroud) 我在表中有一列具有表的完整位置(MyServer.MyDatabase.dbo.MyTable).我只想为此选择表名,以便我可以将它加入另一个表(MyTable).
任何帮助表示赞赏.
我有一个PowerShell脚本,它运行一个返回XML的存储过程.然后我将XML导出到一个文件中,但是当我打开文件时,每行在结尾处有3个点,并且该行未完成.这是使用out-file.
当我使用Export-Clixml从查询返回的XML被转储到一个<props>不是我的标签之一的标签中.
我不确定从哪里开始以原始格式保存我的XML.
我使用的PowerShell脚本与此类似:
$Date = Get-Date -format "yyyyMMdd_HHmm"
$File = "C:\Temp\MyFile"+$Date+".xml"
$Query = "exec dbo.usp_MyProc"
Invoke-Sqlcmd -Query $Query -database MyDatabase -ServerInstance MyServer | out-file $File -Encoding utf8
Run Code Online (Sandbox Code Playgroud)