问题描述
方案:我试图从SFTP中获取一堆文件,然后对其进行遍历以将文件参数与“审核”表中的文件参数进行比较,如果是全新文件,则将信息插入到审核表中。 / p>
这是我的代码段
$directory = $session.ListDirectory("/broken/")
$session.dispose()
foreach ($fileInfo in $directory.Files)
{
$FileName = $($fileInfo.Name)
$FileSize = $($fileInfo.Length)
$DateModified = $($fileInfo.LastWriteTime)
If($FileName -eq '.' -or $FileName -eq '..' )
{
continue
}
#Check if file was downloaded earlier
$sqlConnection = New-Object System.Data.sqlClient.sqlConnection
$sqlConnection.ConnectionString = "Server = $sqlServer; Database = $sqldbname; User ID = $sqlUsername; Password = $sqlPassword"
$sqlCmd = New-Object System.Data.sqlClient.sqlCommand
$sqlCmd.CommandText = "SELECT [FileName],[DateModified],[FileSize] FROM [FTP].[dbo].[Log] WHERE FileName='$FileName'"
$sqlCmd.Connection = $sqlConnection
$sqlAdapter = New-Object System.Data.sqlClient.sqlDataAdapter
$sqlAdapter.SelectCommand = $sqlCmd
$DataSet = New-Object System.Data.DataSet
$sqlAdapter.Fill($DataSet)
$sqlConnection.Close()
$Result = $DataSet.Tables[0]
####
现在,我已将SQL查询信息提取到我的PowerShell哈希表变量中。 然后如何比较结果是否返回
我尝试做以下几件事:
If ($Result.Matches.Count -ne 0 ){
### Naming the files
$sqlFTPFileName = $Result.RemoteFileName[0]
$sqlFTPFileDateModified = $Result.DateModified[0]
$sqlFTPFileSize = $Result.FileSize[0]
###
OR
If ($Result.RemoteFileName[0] -ne 0 ){
### Naming the files
$sqlFTPFileName = $Result.RemoteFileName[0]
$sqlFTPFileDateModified = $Result.DateModified[0]
$sqlFTPFileSize = $Result.FileSize[0]
###
}
您能在这里帮助我吗?
感谢您的帮助,感激不尽。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)