Powershell 搜索时的文件扩展名
我正在尝试获取具有特定扩展名的所有文件的列表Powershell 搜索时的文件扩展名,powershell,console,Powershell,Console,我正在尝试获取具有特定扩展名的所有文件的列表 (...)$_.Extension -eq ".$ext" 我将扩展从控制台读取到脚本 我的问题是如何找到扩展名为*的文件 编辑: 下面是代码的其余部分: $setOfFolders = (Get-ChildItem -Path D:\ -Directory).name Write-host "Set last write date " -ForegroundColor Yellow -NoNewline $ostZmiana= read-ho
(...)$_.Extension -eq ".$ext"
我将扩展从控制台读取到脚本
我的问题是如何找到扩展名为*
的文件
编辑:
下面是代码的其余部分:
$setOfFolders = (Get-ChildItem -Path D:\ -Directory).name
Write-host "Set last write date " -ForegroundColor Yellow -NoNewline
$ostZmiana= read-host $exten = read-host "Set extensions "
ForEach ($f in $setOfFolders)
{
$saveTofile = "C:\Users\pziolkowski\Desktop\Outs\$f.txt"
Get-ChildItem -Path D:\Urzad\Wspolny\$f -Recurse | ? {$_.LastAccessTime -lt $ostZmiana -and $_.Extension -eq ".$exten"} | % {Get-acl $_.FullName} |sort Owner | ft -AutoSize -Wrap Owner, @{Label="ShortPath"; Expression= $_.Path.Substring(38)}} > $saveToFile
}
$\扩展名
将文件视为(对于文本文件).txt
如果$ext
当前是一个有效的扩展名,那么$ext
看起来像是.txt
的回声
要在PowerShell中获取具有特定扩展名的文件列表,最简单的方法是使用以下两种方法之一
C类语法:
$myList
Get-ChildItem |`
Foreach-Object {
if ($_.Extension -eq ".txt") { $myList += $_}
}
PowerShell样式:
Get-ChildItem | Where-Object {$_.Extension -eq ".txt"} | Do stuff
要获取所有文件,因为大多数文件都有扩展名,只需使用get-ChildItem或GCI或ls。(GCI和LS是Get ChildItem的别名)
要获取具有扩展名但不具有特定扩展名的所有文件,请执行以下操作:
Get-ChildItem | Where-Object {$_.Extension}
它的计算结果为布尔值,无论是真是假
这些都是现成的,但应该可以让您朝着正确的方向前进。您也可以在get ChildItem上使用-filter:
Get ChildItem-过滤器“*.txt”
您也可以指定递归:
Get ChildItem-Recurse-Filter“*.txt”
您需要添加更多实际代码,让人们帮助您完成所需的任务。有很多方法可以满足您的要求,但很难从您的问题开始提供帮助。其余代码:$setOfFolders=(Get ChildItem-Path D:\-Directory)。name Write host“Set last Write date”-ForegroundColor Yellow-NoNewline$ostZmiana=读取主机$ext=读取主机“Set extensions”ForEach($f in$setOfFolders){$saveTofile=“C:\Users\pziolkowski\Desktop\Outs\$f.txt”获取ChildItem-Path D:\Urzad\Wspolny\$f-Recurse |?{$$$.LastAccessTime-lt$ostZmiana-和$.Extension-eq.$extensi}{Get acl$.FullName}}排序所有者| ft-AutoSize-Wrap所有者,@{Label=“ShortPath”表达式=${.Path.Substring(38)}$saveTofile}编辑您的问题以添加代码,注释不是放在代码中的位置。谢谢谢谢谢谢Hanks:)但您说过如何查找specyfic扩展名,但我需要添加任何(如file.log和file.jpg)文件。*然后更新您的问题,我将更新答案。当前,您从开始,我正在尝试获取具有特定扩展名的文件列表。
测试后,似乎筛选文件扩展名的-Filter“*.txt”
比-Include*.txt
快得多。谢谢你的提示!这实际上与扩展不匹配。它还匹配“Filename.txt skip”!