可以使用以下Powershell脚本实现:
$dirPath = "C:\目录路径" $searchString = "要查找的字符串" $matchingFile = $null
Get-ChildItem -Path $dirPath | ForEach-Object { # 判断是否为Excel文件 if($.Extension -eq ".xlsx" -or $.Extension -eq ".xls"){ # 打开Excel文件 $excel = New-Object -ComObject Excel.Application $workbook = $excel.Workbooks.Open($_.FullName)
# 在当前Excel文件中查找指定字符串
$range = $excel.ActiveSheet.UsedRange
$result = $range.Find($searchString)
# 如果找到,则记录当前文件名称并结束搜索
if($result -ne $null){
$matchingFile = $_.Name
$workbook.Close($false)
$excel.Quit()
break
}
# 关闭Excel文件
$workbook.Close($false)
$excel.Quit()
}
}
if($matchingFile -ne $null){ Write-Host "找到匹配字符串的文件为:"$matchingFile } else{ Write-Host "没有找到匹配字符串的文件。" }
请将“C:\目录路径”替换为实际的目录路径,“要查找的字符串”替换为需要查找的字符串。该脚本将依次遍历Excel文件,搜索指定字符串,如果找到则记录当前文件名并结束搜索,如果遍历完所有文件仍未找到,则输出未找到匹配字符串的文件。