我是Powerhell中的新手,但非常希望能夠很好地使用它。我工作的一個腳本,應該做到以下幾點:powershell條件不處理數組中的所有值
- 檢查特定文件夾中的特定位置的存在(映射驅動器)
- 如果該文件夾存在,則返回的列表
- 如果該文件夾不存在,然後創建它。
理想情況下,我想在check-if exists-remove-item(subdir)方面改進它。檢查 - 如果不存在 - 創建
這是爲了便於特定軟件的歸檔過程的自動化。我現在有些作品,但我無法弄清楚如何讓它做到我想要的。
下面是代碼:
$X = @("Server1", "Server2", "Server3")
$ChkFile = "f:\archive\$server\AABackup"
$myFolder = "f:\archive\$server"
$DirExists = Test-Path $ChkFile
Foreach ($server in $x){
IF ($DirExists -eq $True) {
Remove-Item $ChkFile -recurse
import-Module "AppAssurePowerShellModule"
start-archive -protectedserver $server -startdate "18/03/2013 5:30 PM" -path "f:\archive\$server"
}
Elseif ($DirExists -ne $True) {
New-Item -path $myFolder -itemType "directory"
import-Module "AppAssurePowerShellModule"
start-archive -protectedserver $server -startdate "18/03/2013 5:30 PM" -path "f:\archive\$server"
}
}
是的,我知道這是粗糙的...這是我第一次嘗試,雖然,所以我可以肯定從這裏更有經驗的腳本編寫受益。
在此先感謝。
在foreach循環中移動'$ ChkFile'和'$ myFolder'行,變量'$ server'在設置變量時擴展爲當前值,所以它們是'$ s'的值erver'在創作時。通過將它們移到foreach中,它們對於每個服務器都是不同的(就像你想要的那樣)。另外,將'Import-Module'行移到腳本的開頭。當它被導入時,它被導入,你不需要或者需要在你的循環中每次都這樣做 – 2013-03-20 19:02:39