我有一个文件列表,我想检查一下powershell中的目录,看看它们是否存在。我对powershell不太熟悉,但这是我到目前为止所做的工作。
$filePath = "C:\Desktop\test\"
$currentDate = Get-Date -format yyyyMMdd
$listOfFiles =
"{0}{1}testFile.txt",
"{0}{1}Base.txt",
"{0}{1}ErrorFile.txt",
"{0}{1}UploadError.txt"`
-f $filePath, $currentDate
foreach ( $item in $listOfFiles )
{
[System.IO.File]::Exists($item)
}
这可能吗?
答案 0 :(得分:4)
您可以使用Test-Path
cmdlet。
$filePath = "C:\Desktop\test\"
$currentDate = Get-Date -format yyyyMMdd
#I'm using 1..4 to create an array to loop over rather than manually creating each entry
#Also used String Interpolation rather than -f to inject the values
1..4 | ForEach-Object {Test-Path "${filePath}${currentDate}file$_.txt"}
编辑: 对于更新的文件名,以下是如何将它们放入要循环的数组中的方法。
"testFile","Base","ErrorFile","UploadError" | ForEach-Object {
Test-Path "${filePath}${currentDate}$_.txt"
}
答案 1 :(得分:0)
是的,您可以在PowerShell中执行此操作。
$filePath = "C:\Desktop\test\$((Get-Date).ToString("yyyyMMdd"))"
foreach ( $n in 1..4 ) {
Test-Path $($filePath +"file$n.txt")
}