如果文件夹中的Filetype不存在,则Get-ChildItem停止脚本

时间:2018-02-28 16:15:23

标签: powershell get-childitem

我正在尝试在PowerShell脚本中处理一些“错误”。如果指定文件夹中不存在特定文件类型(.key),则该脚本无需执行任何操作,因此应终止。我使用此示例来解决我的问题,这不能按预期工作。 PowerShell没有终止。

$Eventlogfolder = "c:\temp\test\"

# Check if  subfolder exists and check if .key-files are available in this folder.
# if not - exit. There is nothing to do if no LicenceFile (*.key Files) are available.
$CheckFileExistence = Get-ChildItem $EventLogFolder -recurse -filter  "*.key"
if (!($CheckFileExistence)) {ErrorAction Stop}

我所知道的是,Get-ChildItem会给出一个空数组。没有错误消息或状态。我认为这就是ErrorAction在这里不起作用的原因。

所以我的问题是,如何退出Get-ChildItem?当我使用EXIT时,PowerShell ISE退出。

1 个答案:

答案 0 :(得分:0)

这样的东西?

$Eventlogfolder     = "c:\temp\test\"
$CheckFileExistence = Get-ChildItem $EventLogFolder -recurse -filter  "*.key"

if ([string]::IsNullOrEmpty($CheckFileExistence)){
    throw "No .key files found in $Eventlogfolder"
}else{
   # do stuff with .key files
}