Powershell检查文件类型

Powershell检查文件类型,powershell,file-type,Powershell,File Type,我正在编写一个脚本来修改文件夹中的图像,在大多数情况下,我使用getchilditem来修改目录中的图像 所以我现在正在做的是创建一个变量,名为 $fileExtension = [IO.Path]::GetExtension($files[$counter].Name) 使用类似于以下内容的if语句: if($fileExtension -eq '.png' or $fileExtensiono -eq '.jpg'. . . ) 有更好的方法吗?我真的希望它执行这个修改图像的功能

我正在编写一个脚本来修改文件夹中的图像,在大多数情况下,我使用
getchilditem
来修改目录中的图像

所以我现在正在做的是创建一个变量,名为

$fileExtension = [IO.Path]::GetExtension($files[$counter].Name)
使用类似于以下内容的if语句:

if($fileExtension -eq '.png' or
    $fileExtensiono -eq '.jpg'. . . )

有更好的方法吗?我真的希望它执行这个修改图像的功能。如果文件是图像,文件夹可能包含其他项目,例如zip,如果它在文件夹上拾取,脚本将崩溃。

请尝试以下操作:

get-childitem 'c:\temp\*' -file -include '*.png', '*.jpg'

如果('.png','.jpg',…-包含$FileExtension){…
现在我确实发现这样做有一个问题,我对这些图像所做的事情是向图像本身添加一个数字。因此,在我做Get ChildItem的地方,我想我需要它只给我图像。因此,我发现通过使用-Recusive和-Include@(*.png),等等。)可以工作,但如果文件夹有子文件夹,则会使脚本崩溃。如何使用Get ChildItem仅关注当前目录。排除递归包含不起作用。在执行
Get ChildItem*| Where Object Extension-in'.png'、'.jpg'
Get ChildItem*-包含时,我会直接限制到所需的扩展“*.png”,“*.jpg”
@LotPings-就是这样!其中Object是解决方案^-^因此,如果它的文件类型不是常见的图像文件类型,那么它根本不会列出它们,从而使计数保持正确。非常感谢!