我对 PowerShell 相当陌生。我创建了一个可以由同事运行的 exe,它将转到 8 个单独的 sql 服务器,到各个目录并检查它们以获取已创建文件的列表。我当前的代码检查年龄小于一天并且它不是空的,但是,我遇到了一个新问题。我需要能够在文本文件/array/csv/etc 中获取列表并将列表与目录进行比较,以确保文件夹中没有任何其他文件。然后将所有信息格式化,导出到文件,然后通过电子邮件发送给某些收件人。
我的问题是,我如何创建一个使用这个想法的脚本;最好不要对我当前的代码进行相当大的更改,因为考虑到 8 个 sql 服务器的子目录,它的长度相当长。(当前编辑的脚本如下):
$today = get-date
$yesterday = $today.AddDays(-1)
$file_array = "XXX_backup*.trn", "XXX_backup*.bak", "XXY_backup*.trn", "XXY_backup*.bak"
$server_loc = \\hostname\e$\
$server_files = @(get-childitem $server_loc | where-object {$_.fullname -notmatch "(subdirectory)})
$server_complete_array = @("Files Directory ($server_loc)", " ")
foreach ($file in $files) {
IF ($file.length -eq 0) {
[string]$string = $file
$server_complete_Array = $server_complete_Array + "$string is empty."
}
elseif ($file.LastWriteTime -lt $yesterday) {
[string]$string = $file
$server_complete_Array = $server_complete_Array + "$string is old."
}
else {
[string]$string = $file
$server_complete_Array = $server_complete_Array + "$string is okay."}
}
提前谢谢你的帮助。:)