我想使用Powershell从Sharepoint库中仅提取所需的文件类型
我正在使用以下逻辑,但它无法正常工作.它仍然匹配文件名包含扩展类型,这是不好的.
请帮我纠正脚本.
$libfiles = ".pptx",".xlsx",".xls",".docx",".doc",".pdf",".jpeg",".jpg",".ppt",".xlsm",".gif",".png"
$libfilesregex = [string]::Join('|', $libfiles)
$arr = @("xlsfile.avi","asxlsxfile.mdf","navigation.css")
foreach($i in $arr)
{
if($i -match $libfilesregex)
{
Write-Host " $($i) File type exists "
}
else
{
Write-Host " $($i) File type does not exist "
}
}
Run Code Online (Sandbox Code Playgroud)
它正在输出:
xlsfile.avi文件类型不存在
asxlsxfile.mdf文件类型存在
navigation.css文件类型不存在
注意如何报告不存在,但asxlsxfile.mdf出乎意料的是.
谢谢Vishwa
我相信这就是你要找的东西.我明确地从文件数组中提取文件扩展名,并在扩展名存在时打印.
$libfiles = ".pptx",".xlsx",".xls",".docx",".doc",".pdf",".jpeg",".jpg",".ppt",".xlsm",".gif",".png"
$arr = @("xlsfile.avi","asxlsxfile.mdf","navigation.css", "lib.pptx")
foreach($i in $arr)
{
if($libfiles -contains [io.path]::GetExtension($i))
{
Write-Host "$([io.path]::GetExtension($i)) File type exists "
}
else
{
Write-Host "$([io.path]::GetExtension($i)) File type does not exist "
}
}
Run Code Online (Sandbox Code Playgroud)