Aracılığıyla paylaş


Select-String

Dizelerde ve dosyalarda metin bulur.

Syntax

File (Varsayılan)

Select-String
    [-Pattern] <String[]>
    [-Path] <String[]>
    [-SimpleMatch]
    [-CaseSensitive]
    [-Quiet]
    [-List]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-NotMatch]
    [-AllMatches]
    [-Encoding <String>]
    [-Context <Int32[]>]
    [<CommonParameters>]

Object

Select-String
    [-Pattern] <String[]>
    -InputObject <PSObject>
    [-SimpleMatch]
    [-CaseSensitive]
    [-Quiet]
    [-List]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-NotMatch]
    [-AllMatches]
    [-Encoding <String>]
    [-Context <Int32[]>]
    [<CommonParameters>]

LiteralFile

Select-String
    [-Pattern] <String[]>
    -LiteralPath <String[]>
    [-SimpleMatch]
    [-CaseSensitive]
    [-Quiet]
    [-List]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-NotMatch]
    [-AllMatches]
    [-Encoding <String>]
    [-Context <Int32[]>]
    [<CommonParameters>]

Description

Select-String cmdlet'i, giriş dizelerinde ve dosyalarda metin desenlerini aramak için normal ifade eşleştirme kullanır. Unix'te Select-String veya Windows'da grep benzer findstr.exe kullanabilirsiniz.

Select-String metin satırlarını temel alır. Varsayılan olarak, Select-String her satırdaki ilk eşleşmeyi bulur ve her eşleşme için dosya adını, satır numarasını ve eşleşmeyi içeren satırdaki tüm metni görüntüler. Select-String satır başına birden çok eşleşme bulmaya, eşleşmeden önce ve sonra metin görüntülemeye veya eşleşme bulunup bulunmadığını gösteren bir Boole değeri (True veya False) görüntülemeye yönlendirebilirsiniz.

Select-String tüm metin eşleşmelerini görüntüleyebilir veya her giriş dosyasındaki ilk eşleşmeden sonra durabilir. Select-String, belirtilen desenle eşleşmeyen tüm metinleri görüntülemek için kullanılabilir.

Select-String, Unicode metin dosyalarında arama yaparken olduğu gibi belirli bir karakter kodlaması beklemesi gerektiğini de belirtebilirsiniz. Select-String, dosyanın kodlama biçimini algılamak için bayt sırası işaretini (BOM) kullanır. Dosyada BOM yoksa, kodlamanın UTF8 olduğunu varsayar.

Örnekler

Örnek 1: Büyük/küçük harfe duyarlı eşleşme bulma

Bu örnek, işlem hattından Select-String cmdlet'ine gönderilen metnin büyük/küçük harfe duyarlı eşleşmesini yapar.

'Hello', 'HELLO' | Select-String -Pattern 'HELLO' -CaseSensitive -SimpleMatch

Hello ve HELLO metin dizeleri işlem hattını Select-String cmdlet'ine gönderilir. Select-String Deseni parametresini kullanarak hello belirtir. CaseSensitive parametresi, servis talebinin yalnızca büyük harf deseni ile eşleşmesi gerektiğini belirtir. SimpleMatch isteğe bağlı bir parametredir ve desendeki dizenin normal ifade olarak yorumlanmadığını belirtir. Select-String, PowerShell konsolunda HELLO görüntüler.

Örnek 2: Metin dosyalarında eşleşmeleri bulma

Bu komut, geçerli dizindeki .txt dosya adı uzantısına sahip tüm dosyaları arar. Çıkış, belirtilen dizeyi içeren dosyalardaki satırları görüntüler.

Get-Alias | Out-File -FilePath .\Alias.txt
Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\*.txt -Pattern 'Get-'
Alias.txt:8:Alias            cat -> Get-Content
Alias.txt:28:Alias           dir -> Get-ChildItem
Alias.txt:43:Alias           gal -> Get-Alias
Command.txt:966:Cmdlet       Get-Acl
Command.txt:967:Cmdlet       Get-Alias

Bu örnekte, Get-Alias ve Get-Command, geçerli dizinde Out-File ve Command.txtolmak üzere iki metin dosyası oluşturmak için cmdlet'iyle birlikte kullanılır.

Select-String, geçerli dizindeki tüm dosyaları dosya adı uzantısıyla aramak için yıldız işareti (*) joker karakteriyle .txt parametresini kullanır. Deseni parametresi, get- eşleşecek metni belirtir. Select-String çıkışı PowerShell konsolunda görüntüler. Dosya adı ve satır numarası, Deseni parametresiyle eşleşen her içerik satırının önünde yer alır.

Örnek 3: Desen eşleşmesi bulma

Bu örnekte, belirtilen desenin eşleşmelerini bulmak için birden çok dosya aranır. Desende normal ifade niceleyicisi kullanılır. Daha fazla bilgi için bkz. about_Regular_Expressions.

Select-String -Path "$PSHOME\en-US\*.txt" -Pattern '\?'
C:\Program Files\PowerShell\6\en-US\default.help.txt:27:    beginning at https://go.microsoft.com/fwlink/?LinkID=108518.
C:\Program Files\PowerShell\6\en-US\default.help.txt:50:    or go to: https://go.microsoft.com/fwlink/?LinkID=210614

Select-String cmdlet'i, Path ve Pattern iki parametre kullanır. Path parametresi, PowerShell dizinini belirten $PSHOME değişkenini kullanır. Yolun geri kalanı en-US alt dizinini içerir ve dizindeki her *.txt dosyasını belirtir. Deseni parametresi, her dosyadaki bir soru işaretiyle (?) eşleşecek şekilde belirtir. Bir kaçış karakteri olarak ters eğik çizgi (\) kullanılır ve soru işareti (?) normal ifade niceleyicisi olduğundan gereklidir. Select-String çıkışı PowerShell konsolunda görüntüler. Dosya adı ve satır numarası, Deseni parametresiyle eşleşen her içerik satırının önünde yer alır.

Örnek 4: İşlevde Select-String kullanma

Bu örnek, PowerShell yardım dosyalarında desen aramak için bir işlev oluşturur. Bu örnekte işlev yalnızca PowerShell oturumunda bulunur. PowerShell oturumu kapatıldığında işlev silinir. Daha fazla bilgi için bkz. about_Functions.

function Search-Help
{
    $PSHelp = "$PSHOME\en-US\*.txt"
    Select-String -Path $PSHelp -Pattern 'About_'
}

Search-Help
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:2:   about_ActivityCommonParameters
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:31:  see about_WorkflowCommonParameters.
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:33:  about_CommonParameters.

İşlev, PowerShell komut satırında oluşturulur. function anahtar sözcüğü Search-Helpadını kullanır. İşleve deyim eklemeye başlamak için Enter tuşuna basın. >> isteminden her deyimi ekleyin ve örnekte gösterildiği gibi Enter basın. Kapatma köşeli ayracı eklendikten sonra bir PowerShell istemine geri dönersiniz.

işlevi iki komut içerir. $PSHelp değişkeni, PowerShell yardım dosyalarının yolunu depolar. $PSHOME, dizindeki her dosyasını belirten *.txt alt dizinine sahip PowerShell yükleme dizinidir.

İşlevdeki Select-String komutu, Yol ve Deseni parametrelerini kullanır. Yolu parametresi, yolu almak için $PSHelp değişkenini kullanır. Deseni parametresi, arama ölçütü olarak About_ dizesini kullanır.

İşlevi çalıştırmak için Search-Helpyazın. İşlevin Select-String komutu, çıkışı PowerShell konsolunda görüntüler.

Örnek 5: Windows olay günlüğünde dize arama

Bu örnek, Windows olay günlüğündeki bir dizeyi arar. $_ değişkeni, işlem hattındaki geçerli nesneyi temsil eder. Daha fazla bilgi için bkz. about_Automatic_Variables.

$Events = Get-WinEvent -LogName Application -MaxEvents 50
$Events | Select-String -InputObject {$_.Message} -Pattern 'Failed'

Get-WinEvent cmdlet'i, Uygulama günlüğünü belirtmek için LogName parametresini kullanır. MaxEvents parametresi günlükten en son 50 olayı alır. Günlük içeriği $Eventsadlı değişkende depolanır.

$Events değişkeni, işlem hattından Select-String cmdlet'ine gönderilir. Select-String InputObject parametresini kullanır. $_ değişkeni geçerli nesneyi temsil eder ve Message olayın bir özelliğidir. Deseni parametresi Başarısız dizesini belirtir ve $_.Messageiçinde eşleşmeleri arar. Select-String çıkışı PowerShell konsolunda görüntüler.

Örnek 6: Alt dizinlerde dize bulma

Bu örnek, bir dizinde ve tüm alt dizinlerde belirli bir metin dizesi arar.

Get-ChildItem -Path C:\Windows\System32\*.txt -Recurse | Select-String -Pattern 'Microsoft' -CaseSensitive

Get-ChildItem, C:\Windows\System32*.txtbelirtmek için Path parametresini kullanır. Recurse parametresi alt dizinleri içerir. Nesneler Select-String'a ulaşmak üzere işlem hattından gönderilir.

Select-String Deseni parametresini kullanır ve Microsoft dizesini belirtir. CaseSensitive parametresi, dizenin tam büyük/küçük harfle eşleşmesi için kullanılır. Select-String çıkışı PowerShell konsolunda görüntüler.

Uyarı

İzinlerinize bağlı olarak, çıktıda Erişim reddedildi iletileri görebilirsiniz.

Örnek 7: Desenle eşleşmeyen dizeleri bulma

Bu örnekte, desenle eşleşmeyen veri satırlarının nasıl dışlandığı gösterilmektedir.

Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\Command.txt -Pattern 'Get', 'Set'  -NotMatch

Get-Command cmdlet'i, geçerli dizinde Out-File dosyasını oluşturmak için nesneleri işlem hattından gönderir. Select-String, Command.txt dosyasını belirtmek için Yol parametresini kullanır. Deseni parametresi Get ve Set'ı arama deseni olarak belirtir. NotMatch parametresi Get ve Set sonuçlarının dışında tutar. Select-String, PowerShell konsolunda Al veya Ayarlaiçermeyen çıkışı görüntüler.

Örnek 8: Eşleşmeden önceki ve sonraki satırları bulma

Bu örnekte, eşleşen desenden önceki ve sonraki satırların nasıl alınıp alınmayları gösterilmektedir.

Get-Command | Out-File -FilePath .\Command.txt
Select-String -Path .\Command.txt -Pattern 'Get-Computer' -Context 2, 3
  Command.txt:1186:Cmdlet          Get-CmsMessage            3.0.0.0    Microsoft.PowerShell.Security
  Command.txt:1187:Cmdlet          Get-Command               3.0.0.0    Microsoft.PowerShell.Core
> Command.txt:1188:Cmdlet          Get-ComputerInfo          3.1.0.0    Microsoft.PowerShell.Management
> Command.txt:1189:Cmdlet          Get-ComputerRestorePoint  3.1.0.0    Microsoft.PowerShell.Management
  Command.txt:1190:Cmdlet          Get-Content               3.1.0.0    Microsoft.PowerShell.Management
  Command.txt:1191:Cmdlet          Get-ControlPanelItem      3.1.0.0    Microsoft.PowerShell.Management
  Command.txt:1192:Cmdlet          Get-Counter               3.0.0.0    Microsoft.PowerShell.Diagnostics

Get-Command cmdlet'i, geçerli dizinde Out-File dosyasını oluşturmak için nesneleri işlem hattından gönderir. Select-String, Command.txt dosyasını belirtmek için Yol parametresini kullanır. Deseni parametresi, arama deseni olarak Get-Computer belirtir. Context parametresi, önce ve sonra olmak üzere iki değer kullanır ve çıkıştaki desen eşleşmelerini açılı ayraçla (>) işaretler. Bağlamı parametresi, ilk desen eşleşmeden önce iki satırı ve son desen eşleşmesinin ardından üç satır çıkışını alır.

Örnek 9: Tüm desen eşleşmelerini bulma

Bu örnekte, AllMatches parametresinin bir metin satırındaki her desen eşleşmesini nasıl bulduğu gösterilmektedir. Varsayılan olarak, Select-String bir desenin yalnızca metin satırındaki ilk oluşumunu bulur. Bu örnek, Get-Member cmdlet'iyle bulunan nesne özelliklerini kullanır.

$A = Get-ChildItem -Path "$PSHOME\en-US\*.txt" | Select-String -Pattern 'PowerShell'
$A
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:5:    Describes the parameters that Windows PowerShell
C:\Windows\System32\WindowsPowerShell\v1.0\en-US\about_ActivityCommonParameters.help.txt:9:    Windows PowerShell Workflow adds the activity common
$A.Matches
Groups   : {0}
Success  : True
Name     : 0
Captures : {0}
Index    : 4
Length   : 10
Value    : PowerShell
$A.Matches.Length
2073
$B = Get-ChildItem -Path "$PSHOME\en-US\*.txt" | Select-String -Pattern 'PowerShell' -AllMatches
$B.Matches.Length
2200

Get-ChildItem cmdlet'i Path parametresini kullanır. Path parametresi, PowerShell dizinini belirten $PSHOME değişkenini kullanır. Yolun geri kalanı en-US alt dizinini içerir ve dizindeki her *.txt dosyasını belirtir. Get-ChildItem nesneleri $A değişkeninde depolanır. $A değişkeni, işlem hattından Select-String cmdlet'ine gönderilir. Select-String, her dosyada PowerShell dizesiaramak için Desen parametresini kullanır.

PowerShell komut satırından $A değişken içeriği görüntülenir. PowerShell dizesinin iki oluşumunu içeren bir satır vardır.

$A.Matches özelliği, her satırda PowerShell desenin ilk oluşumunu listeler.

$A.Matches.Length özelliği, her satırda PowerShell desenin ilk oluşumunu sayar.

$B değişkeni aynı Get-ChildItem ve Select-String cmdlet'leri kullanır, ancak AllMatches parametresini ekler. AllMatches, her satırda PowerShell desenin her oluşumunu bulur. $A ve $B değişkenlerinde depolanan nesneler aynıdır.

PowerShell $B.Matches.Length desenin her geçtiği her satır için sayıldığından özelliği artar.

Örnek 10 - 'Out-String' kullanarak işlem hattı nesnelerini dizelere dönüştürme

Kanallı nesnenin ToString() sonucu, PowerShell'in biçimlendirme sistemi tarafından üretilen zengin dize gösterimiyle aynı değildir. Bu nedenle, önce nesneleri Out-String yöneltmelisiniz.

Out-String için piping, biçimlendirilmiş çıkışı tek bir çok satırlı dize nesnesine dönüştürür. Bu, Select-String bir eşleşme bulduğunda çok satırlı dizenin tamamının çıkışını yaptığı anlamına gelir.

PS> $hash = @{
    Name = 'foo'
    Category = 'bar'
}

# !! NO output, due to .ToString() conversion
$hash | Select-String -Pattern 'foo'

# Out-String converts the output to a single multi-line string object
PS> $hash | Out-String | Select-String -Pattern 'foo'

Name                           Value
----                           -----
Name                           foo
Category                       bar

# Out-String -Stream converts the output to a multiple single-line string objects
PS> $hash | Out-String -Stream | Select-String -Pattern 'foo'

Name                           foo

Out-String -Stream için piping, biçimlendirilmiş çıkışı birden çok tek satırlı dize nesnesine dönüştürür. Bu, Select-String bir eşleşme bulduğunda yalnızca eşleşen satırın çıkışını yaptığı anlamına gelir.

Parametreler

-AllMatches

Cmdlet'in her metin satırında birden fazla eşleşme aradığını gösterir. Bu parametre olmadan, Select-String her metin satırında yalnızca ilk eşleşmeyi bulur.

Select-String bir metin satırında birden fazla eşleşme bulduğunda, yine de satır için yalnızca bir MatchInfo nesnesi yayar, ancak nesnenin Eşleşmeleri özelliği tüm eşleşmeleri içerir.

Uyarı

bu parametre, SimpleMatch parametresiyle birlikte kullanıldığında yoksayılır. Tüm eşleşmeleri döndürmek istiyorsanız ve aradığınız desen normal ifade karakterleri içeriyorsa, SimpleMatchkullanmak yerine bu karakterlerden kaçmalısınız. Normal ifadelerden kaçış hakkında daha fazla bilgi için bkz. about_Regular_Expressions.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-CaseSensitive

Cmdlet eşleşmelerinin büyük/küçük harfe duyarlı olduğunu gösterir. Varsayılan olarak, eşleşmeler büyük/küçük harfe duyarlı değildir.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Context

Desenle eşleşen satırdan önceki ve sonraki belirtilen satır sayısını yakalar.

Bu parametrenin değeri olarak bir sayı girerseniz, bu sayı eşleşmeden önce ve sonra yakalanan satır sayısını belirler. Değer olarak iki sayı girerseniz, ilk sayı eşleşmeden önceki satır sayısını, ikinci sayı ise eşleşmeden sonraki satır sayısını belirler. Örneğin, -Context 2,3.

Varsayılan ekranda, eşleşmesi olan çizgiler, ekranın ilk sütununda dik açılı ayraç (>) (ASCII 62) ile gösterilir. İşaretsiz çizgiler bağlamdır.

Bağlamı parametresi, Select-Stringtarafından oluşturulan nesne sayısını değiştirmez. Select-String her eşleşme için bir MatchInfo nesnesi oluşturur. Bağlam, nesnesinin Context özelliğinde dize dizisi olarak depolanır.

bir Select-String komutunun çıktısı işlem hattını başka bir Select-String komutuna gönderildiğinde, alan komut yalnızca eşleşen satırdaki metni arar. Eşleşen çizgi, bağlam çizgilerindeki metin değil, MatchInfo nesnesinin Satır özelliğinin değeridir. Sonuç olarak, Bağlam parametresi alıcı Select-String komutunda geçerli değildir.

Bağlam bir eşleşme içerdiğinde, her eşleşme için MatchInfo nesnesi tüm bağlam çizgilerini içerir, ancak örtüşen çizgiler ekranda yalnızca bir kez görünür.

Parametre özellikleri

Tür:

Int32[]

Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Encoding

Hedef dosya için kodlama türünü belirtir. Varsayılan değer şudur: default.

Bu parametre için kabul edilebilir değerler aşağıdaki gibidir:

  • ascii ASCII (7 bit) karakter kümesini kullanır.
  • bigendianunicode, büyük endian bayt sırası ile UTF-16 kullanır.
  • default Sistemin etkin kod sayfasına (genellikle ANSI) karşılık gelen kodlamayı kullanır.
  • oem Sistemin geçerli OEM kod sayfasına karşılık gelen kodlamayı kullanır.
  • unicode UTF-16'yı little-endian bayt sırasıyla kullanır.
  • utf7 UTF-7 kullanır.
  • utf8 UTF-8 kullanır.
  • utf32 küçük-endian bayt düzeniyle UTF-32'yi kullanır.

Parametre özellikleri

Tür:String
Default value:Default
Kabul edilen değerler:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Exclude

Belirtilen öğeleri dışla. Bu parametrenin değeri, Path parametresini niteler. *.txtgibi bir yol öğesi veya deseni girin. Joker karakterlere izin verilir.

Parametre özellikleri

Tür:

String[]

Default value:None
Joker karakterleri destekler:True
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Include

Belirtilen öğeleri içerir. Bu parametrenin değeri, Path parametresini niteler. *.txtgibi bir yol öğesi veya deseni girin. Joker karakterlere izin verilir.

Parametre özellikleri

Tür:

String[]

Default value:None
Joker karakterleri destekler:True
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-InputObject

Aranacak metni belirtir. Metni içeren bir değişken girin veya metni alan bir komut veya ifade yazın.

InputObject parametresinin kullanılması, işlem hattından Select-String'e dize göndermekle aynı değildir.

Select-String cmdlet'ine birden fazla dize aktardığınızda, her dizede belirtilen metni arar ve arama metnini içeren her dizeyi döndürür.

Bir dize koleksiyonu göndermek için InputObject parametresini kullandığınızda, Select-String koleksiyonu tek bir birleşik dize olarak değerlendirir. Select-String, herhangi bir dizedeki arama metnini bulursa dizeleri birim olarak döndürür.

Parametre özellikleri

Tür:PSObject
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

Object
Position:Named
Zorunlu:True
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-List

Her giriş dosyasından yalnızca eşleşen metnin ilk örneği döndürülür. Bu, normal ifadeyle eşleşen içeriği olan dosyaların listesini almanın en verimli yoludur.

varsayılan olarak, Select-String bulduğu her eşleşme için bir MatchInfo nesnesi döndürür.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-LiteralPath

Aranacak dosyaların yolunu belirtir. LiteralPath parametresinin değeri tam olarak yazıldığı gibi kullanılır. Hiçbir karakter joker karakter olarak yorumlanmamıştır. Yol kaçış karakterleri içeriyorsa, yolu tek tırnak işaretleriyle çevreleyin. Tek tırnak işaretleri, PowerShell'in hiçbir karakteri kaçış dizisi olarak yorumlamamasını sağlar. Daha fazla bilgi için bkz. about_Quoting_Rules.

Parametre özellikleri

Tür:

String[]

Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:PSPath

Parametre kümeleri

LiteralFile
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-NotMatch

NotMatch parametresi, belirtilen desenle eşleşmeyen metni bulur.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Path

Aranacak dosyaların yolunu belirtir. Joker karakterlere izin verilir. Varsayılan konum yerel dizindir.

dizininde log1.txt, *.docveya *.*gibi dosyaları belirtin. Yalnızca bir dizin belirtirseniz, komut başarısız olur.

Parametre özellikleri

Tür:

String[]

Default value:Local directory
Joker karakterleri destekler:True
DontShow:False

Parametre kümeleri

File
Position:1
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Pattern

Her satırda bulunacak metni belirtir. Desen değeri normal bir ifade olarak değerlendirilir.

Normal ifadeler hakkında bilgi edinmek için bkz. about_Regular_Expressions.

Parametre özellikleri

Tür:

String[]

Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Quiet

Cmdlet'in MatchInfo nesnesi yerine basit bir yanıt döndürdüğünü gösterir. Desen bulunursa döndürülen değer $true veya desen bulunamazsa $null.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-SimpleMatch

Cmdlet'in normal ifade eşleşmesi yerine basit bir eşleşme kullandığını gösterir. Basit bir eşleşmede, Select-StringDeseni parametresindeki metni arar. Pattern parametresinin değerini normal ifade deyimi olarak yorumlamaz.

Ayrıca, SimpleMatch kullanıldığında, döndürülen MatchInfo nesnesinin Eşleşme özelliği boş olur.

Uyarı

Bu parametre AllMatches parametresiyle kullanıldığında, AllMatches yoksayılır.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

PSObject

ToString() yöntemi olan herhangi bir nesneyi bu cmdlet'e aktarabilirsiniz.

Çıkışlar

MatchInfo

Varsayılan olarak, bu cmdlet bulunan her eşleşme için bir MatchInfo nesnesi döndürür.

Boolean

Quiet parametresini kullandığınızda, bu cmdlet desenin bulunup bulunmadığını gösteren bir Boole değeri döndürür.

Notlar

Windows PowerShell, Select-Stringiçin aşağıdaki diğer adları içerir:

  • sls

Select-String, Unix'teki grep veya Windows'daki findstr.exe benzerdir.

Uyarı

Onaylanan PowerShell Komutları Fiillerine göre, Select-* cmdlet'ler için resmi diğer ad ön eki scdeğil sl. Bu nedenle, Select-String için uygun diğer ad scsdeğil slsolmalıdır. Bu, bu kural için bir özel durumdur.

Nesneleri Select-Stringiçin piping yaparken:

  • FileInfo nesneleri bir dosyanın yolu olarak değerlendirilir. Dosya yolları belirtildiğinde, Select-String nesnenin ToString() gösterimini değil dosyanın içeriğini arar.
  • Kanallı nesnenin ToString() sonucu, PowerShell'in biçimlendirme sistemi tarafından üretilen zengin dize gösterimiyle aynı değildir. Bu nedenle, önce nesneleri Out-String yöneltmelisiniz. Daha fazla bilgi için bkz. Örnek 10.

Select-Stringkullanmak için, bulmak istediğiniz metni Desen parametresinin değeri olarak yazın. Aranacak metni belirtmek için aşağıdaki ölçütleri kullanın:

  • Metni tırnak içine alınmış bir dizeye yazın ve Select-String'e aktarın.
  • Bir metin dizesini bir değişkende depolayın ve InputObject parametresinin değeri olarak değişkeni belirtin.
  • Metin dosyalarda depolanıyorsa, dosyaların yolunu belirtmek için Yol parametresini kullanın.

varsayılan olarak, Select-StringDeseni parametresinin değerini normal ifade olarak yorumlar. Daha fazla bilgi için bkz. about_Regular_Expressions. Normal ifade eşleştirmesini geçersiz kılmak için SimpleMatch parametresini kullanabilirsiniz. SimpleMatch parametresi, girişteki Deseni parametresinin değerinin örneklerini bulur.

Select-String varsayılan çıkışı, eşleşmeler hakkında ayrıntılı bilgiler içeren bir MatchInfo nesnesidir. MatchInfo nesneleri DosyaAdı ve Satırgibi özelliklere sahip olduğundan, nesnedeki bilgiler dosyalarda metin ararken kullanışlıdır. Giriş dosyasından değilse, bu parametrelerin değeri InputStream olur.

MatchInfo nesnesindeki bilgilere ihtiyacınız yoksa Sessiz parametresini kullanın. Quiet parametresi, MatchInfo nesnesi yerine bir eşleşme bulup bulmadığını belirten bir Boole değeri (True veya False) döndürür.

tümcecikleri eşleştirirken, Select-String sistem için ayarlanan geçerli kültürü kullanır. Geçerli kültürü bulmak için Get-Culture cmdlet'ini kullanın.

MatchInfo nesnesinin özelliklerini bulmak için aşağıdaki komutu yazın:

Select-String -Path test.txt -Pattern 'test' | Get-Member | Format-List -Property *