我是PowerShell的新手。我創建了一個可以由同事運行的exe文件,該文件將轉到8個單獨的sql服務器,並轉到單個目錄並檢查它們以獲取創建文件的列表。我目前的代碼檢查年齡不到一天,並且它不是空的,但是,我遇到了一個新問題。我需要能夠在文本文件/ array/csv/etc中獲取列表,並將列表與目錄進行比較,以確保文件夾中沒有任何其他文件。然後將所有信息格式化,導出到文件,然後通過電子郵件發送給某些收件人。Powershell,目錄驗證
我的問題是,我該如何創建一個使用這個想法的腳本;最好不用相當大的變化,以我目前的代碼,因爲它是相當長考慮到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."}
}
感謝您對您的幫助提前。 :)
謝謝你的幫助。我從來沒有想過要使用 - 不喜歡。我試圖使用IF($ server_files -ne $ file_array中的$文件),但它不能用於我能找到的任何變化。 – user3609991