Add-Content

Belirtilen öğelere dosyaya sözcük ekleme gibi içerik ekler.

Syntax

Add-Content
   [-Path] <string[]>
   [-Value] <Object[]>
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-NoNewline]
   [-Encoding <Encoding>]
   [-AsByteStream]
   [-Stream <string>]
   [<CommonParameters>]
Add-Content
   [-Value] <Object[]>
   -LiteralPath <string[]>
   [-PassThru]
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-WhatIf]
   [-Confirm]
   [-NoNewline]
   [-Encoding <Encoding>]
   [-AsByteStream]
   [-Stream <string>]
   [<CommonParameters>]

Description

Add-Content Cmdlet içeriği belirtilen bir öğeye veya dosyaya ekler. İçerik işlem hattından geçirilebilir veya Value parametresi kullanılarak belirtilebilir.

Aşağıdaki örnekler için dosya veya dizin oluşturmanız gerekiyorsa bkz . Yeni Öğe.

Örnekler

Örnek 1: Özel durum içeren tüm metin dosyalarına dize ekleme

Bu örnek, geçerli dizindeki metin dosyalarına bir değer ekler, ancak dosyaları dosya adlarına göre dışlar.

Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'

Path parametresi geçerli dizindeki tüm .txt dosyaları belirtir, ancak Exclude parametresi belirtilen desenle eşleşen dosya adlarını yoksayar. Value parametresi, dosyalara yazılan metin dizesini belirtir.

Bu dosyaların içeriğini görüntülemek için get-content komutunu kullanın.

Örnek 2: Belirtilen dosyaların sonuna tarih ekleme

Bu örnek, tarihi geçerli dizindeki dosyalara ekler ve tarihi PowerShell konsolunda görüntüler.

Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThru
Get-Content -Path .\DateTimeFile1.log

Tuesday, May 14, 2019 8:24:27 AM
Tuesday, May 14, 2019 8:24:27 AM
5/14/2019 8:24:27 AM

cmdlet'i Add-Content geçerli dizinde iki yeni dosya oluşturur. Value parametresi cmdlet'in çıkışını Get-Date içerir. PassThru parametresi, eklenen içerikleri işlem hattına aktarır. Çıkışı alacak başka bir cmdlet olmadığından, PowerShell konsolunda görüntülenir. cmdlet'i Get-Content güncelleştirilmiş dosyasını DateTimeFile1.loggörüntüler.

Örnek 3: Belirtilen dosyanın içeriğini başka bir dosyaya ekleme

Bu örnek, bir dosyadaki içeriği alır ve içeriği bir değişkende depolar. değişkeni, içeriği başka bir dosyaya eklemek için kullanılır.

$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt
  • Get-Content cmdlet'i içeriğini CopyFromFile.txt alır ve değişkende $From depolar.
  • cmdlet'i Add-Content , değişkeninin CopyToFile.txt içeriğini $From kullanarak dosyayı güncelleştirir.
  • Get-Content Cmdlet CopyToFile.txt görüntüler.

Örnek 4: İşlem hattını kullanarak belirtilen dosyanın içeriğini başka bir dosyaya ekleme

Bu örnek, içeriği bir dosyadan alır ve cmdlet'ine Add-Content aktarır.

Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txt
Get-Content -Path .\CopyToFile.txt

cmdlet'i Get-Content içeriğini CopyFromFile.txtalır. Sonuçlar cmdlet'ine Add-Content geçirilir ve bu da öğesini CopyToFile.txtgüncelleştirir. Son Get-Content cmdlet görüntüler CopyToFile.txt.

Örnek 5: Yeni dosya oluşturma ve içerik kopyalama

Bu örnek yeni bir dosya oluşturur ve var olan bir dosyanın içeriğini yeni dosyaya kopyalar.

Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt
  • Cmdlet, Add-Content geçerli dizinde yeni bir dosya oluşturmak için Yol ve Değer parametrelerini kullanır.
  • Get-Content Cmdlet var olan bir dosyanın CopyFromFile.txt içeriğini alır ve Value parametresine geçirir. Cmdlet'in Get-Content etrafındaki ayraçlar, komutun başlamadan önce Add-Content bitmesini sağlar.
  • cmdlet'i Get-Content yeni dosyasının içeriğini görüntüler. NewFile.txt

Örnek 6: Salt okunur bir dosyaya içerik ekleme

IsReadOnly dosya özniteliği True olarak ayarlansa bile bu komut dosyaya bir değer ekler. Salt okunur dosya oluşturma adımları örnekte yer alır.

New-Item -Path .\IsReadOnlyTextFile.txt -ItemType File
Set-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $True
Get-ChildItem -Path .\IsReadOnlyTextFile.txt
Add-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -Force
Get-Content -Path .\IsReadOnlyTextFile.txt

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-ar--         1/28/2019     13:35              0 IsReadOnlyTextFile.txt
  • Cmdlet, New-Item dosyayı geçerli dizinde oluşturmak IsReadOnlyTextFile.txt için Path ve ItemType parametrelerini kullanır.
  • Cmdlet, Set-ItemProperty dosyanın IsReadOnly özelliğini True olarak değiştirmek için Ad ve Değer parametrelerini kullanır.
  • cmdlet'i Get-ChildItem dosyanın boş (0) olduğunu ve salt okunur özniteliğine (r) sahip olduğunu gösterir.
  • Cmdlet, Add-Content dosyayı belirtmek için Path parametresini kullanır. Value parametresi, dosyaya eklenecek metin dizesini içerir. Force parametresi, metni salt okunur dosyaya yazar.
  • Cmdlet, Get-Content dosyanın içeriğini görüntülemek için Path parametresini kullanır.

Salt okunur özniteliği kaldırmak için, Value parametresi olarak ayarlanmış Falsekomutunu kullanınSet-ItemProperty.

Örnek 7: Add-Content ile Filtreleri Kullanma

Cmdlet'ine Add-Content bir filtre belirtebilirsiniz. Path parametresini niteleme amacıyla filtreleri kullanırken, yolun içeriğini belirtmek için sondaki yıldız işareti (*) eklemeniz gerekir.

Aşağıdaki komut, dizindeki tüm *.txt dosyaların içeriğini "Bitti" sözcüğünü C:\Temp ekler.

Add-Content -Path C:\Temp\* -Filter *.txt -Value "Done"

Parametreler

-AsByteStream

İçeriğin bayt akışı olarak okunması gerektiğini belirtir. Bu parametre PowerShell 6.0'da kullanıma sunulmuştur.

AsByteStream parametresini Kodlama parametresiyle kullandığınızda bir uyarı oluşur. AsByteStream parametresi herhangi bir kodlamayı yoksayar ve çıkış bayt akışı olarak döndürülür.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Not

Bu parametre, PowerShell ile yüklenen sağlayıcılar tarafından desteklenmez. Başka bir kullanıcının kimliğine bürünmek veya bu cmdlet'i çalıştırırken kimlik bilgilerinizi yükseltmek için Invoke-Command kullanın.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Encoding

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

Kodlama, FileSystem sağlayıcısının cmdlet'e Add-Content eklediği dinamik bir parametredir. Bu parametre yalnızca dosya sistemi sürücülerinde çalışır.

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

  • ascii: ASCII (7 bit) karakter kümesi için kodlamayı kullanır.
  • bigendianunicode: Büyük endian bayt sırasını kullanarak UTF-16 biçiminde kodlar.
  • bigendianutf32: Büyük endian bayt sırasını kullanarak UTF-32 biçiminde kodlar.
  • oem: MS-DOS ve konsol programları için varsayılan kodlamayı kullanır.
  • unicode: Little-endian bayt sırasını kullanarak UTF-16 biçiminde kodlar.
  • utf7: UTF-7 biçiminde kodlar.
  • utf8: UTF-8 biçiminde kodlar.
  • utf8BOM: Bayt Sırası İşareti (BOM) ile UTF-8 biçiminde kodlar
  • utf8NoBOM: Bayt Sipariş İşareti (BOM) olmadan UTF-8 biçiminde kodlar
  • utf32: UTF-32 biçiminde kodlar.

PowerShell 6.2'den başlayarak Kodlama parametresi, kayıtlı kod sayfalarının (gibi-Encoding 1251) sayısal kimliklerine veya kayıtlı kod sayfalarının dize adlarına da (gibi-Encoding "windows-1251") izin verir. Daha fazla bilgi için Encoding.CodePage için .NET belgelerine bakın.

Not

UTF-7* artık kullanılması önerilmez. PowerShell 7.1'den itibaren Kodlama parametresini belirtirseniz utf7 bir uyarı yazılır.

Type:Encoding
Accepted values:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Default value:UTF8NoBOM
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Exclude

Dize dizisi olarak, bu cmdlet'in işlemde hariç tutulduğu öğeyi veya öğeleri belirtir. Bu parametrenin değeri Path parametresini niteler. gibi *.txtbir yol öğesi veya deseni girin. Joker karakterlere izin verilir. Exclude parametresi yalnızca komutu gibi C:\Windows\*bir öğenin içeriğini içerdiğinde geçerlidir; burada joker karakter dizinin içeriğini C:\Windows belirtir.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

Path parametresini nitelemek için bir filtre belirtir. FileSystem sağlayıcısı, filtrelerin kullanımını destekleyen tek yüklü PowerShell sağlayıcısıdır. FileSystem filtre dilinin söz dizimini about_Wildcards bulabilirsiniz. Sağlayıcı, nesneleri alındıktan sonra PowerShell'in filtrelemesini yapmak yerine nesneleri aldığında sağlayıcı bunları uyguladığından filtreler diğer parametrelerden daha verimlidir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Salt okunur özniteliği geçersiz kılarak salt okunur bir dosyaya içerik eklemenize olanak sağlar. Örneğin, Zorla salt okunur özniteliği geçersiz kılar ancak dosya izinlerini değiştirmez.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Dize dizisi olarak, bu cmdlet'in işleme dahil olduğu öğeyi veya öğeleri belirtir. Bu parametrenin değeri Path parametresini niteler. gibi "*.txt"bir yol öğesi veya deseni girin. Joker karakterlere izin verilir. Include parametresi yalnızca komutu gibi C:\Windows\*bir öğenin içeriğini içerdiğinde geçerlidir; burada joker karakter dizinin içeriğini C:\Windows belirtir.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

Bir veya daha fazla konumun yolunu belirtir. LiteralPath değeri tam olarak yazıldığı gibi kullanılır. Hiçbir karakter joker karakter olarak yorumlanmamıştır. Yol kaçış karakterleri içeriyorsa, tek tırnak içine alın. Tek tırnak işaretleri PowerShell'e hiçbir karakteri kaçış dizisi olarak yorumlamaması gerektiğini söyler.

Daha fazla bilgi için bkz . about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoNewline

Bu cmdlet'in içeriğe yeni satır veya satır başı eklemediğini gösterir.

Giriş nesnelerinin dize gösterimleri, çıkışı oluşturmak için birleştirilir. Çıkış dizeleri arasına boşluk veya yeni satır eklenmez. Son çıkış dizesinden sonra yeni satır eklenmez.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Eklenen içeriği temsil eden bir nesne döndürür. Varsayılan olarak, bu cmdlet herhangi bir çıkış oluşturmaz.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Ek içeriği alan öğelerin yolunu belirtir. Joker karakterlere izin verilir. Yollar kapsayıcılara değil öğelere giden yollar olmalıdır. Örneğin, dizin yolu değil, bir veya daha fazla dosya için yol belirtmeniz gerekir. Birden çok yol belirtirseniz, yolları ayırmak için virgül kullanın.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Stream

Not

Bu Parametre yalnızca Windows'da kullanılabilir.

İçerik için alternatif bir veri akışı belirtir. Akış yoksa, bu cmdlet onu oluşturur. Joker karakterler desteklenmez.

Stream , FileSystem sağlayıcısının öğesine Add-Contenteklediği dinamik bir parametredir. Bu parametre yalnızca dosya sistemi sürücülerinde çalışır.

gibi Zone.Identifierherhangi bir alternatif veri akışının içeriğini değiştirmek için cmdlet'ini kullanabilirsinizAdd-Content. Ancak, bunu İnternet'ten indirilen dosyaları engelleyen güvenlik denetimlerini ortadan kaldırmanın bir yolu olarak önermiyoruz. İndirilen bir dosyanın güvenli olduğunu doğrularsanız cmdlet'ini Unblock-File kullanın.

Bu parametre PowerShell 3.0'da kullanıma sunulmuştur. PowerShell 7.2 itibarıyla hem Add-Content dosyalarda hem de dizinlerde alternatif veri akışlarını hedefleyebilir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Value

Eklenecek içeriği belirtir. Bu veriler yalnızca iç kullanım içindir gibi tırnak içine alınmış bir dize yazın veya oluşturan DateTime nesnesi gibi içerik içeren bir nesne Get-Date belirtin.

Yol yalnızca bir dize olduğundan, dosyanın içeriğini yolunu yazarak belirtemezsiniz. İçeriği almak ve Value parametresine geçirmek için bir Get-Content komut kullanabilirsiniz.

Type:Object[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmıyor.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

Object

Değerleri adresine Add-Contentyöneltebilirsiniz.

PSCredential

Kimlik bilgilerini adresine Add-Contentyöneltebilirsiniz.

Çıkışlar

None

Varsayılan olarak, bu cmdlet çıkış döndürmez.

String

PassThru parametresini kullandığınızda, bu cmdlet içeriği temsil eden bir System.String nesnesi döndürür.

Notlar

PowerShell için aşağıdaki diğer adları Add-Contentiçerir:

  • Windows:

    • ac
  • Bir nesneyi öğesine Add-Contentyönelttiğinde, nesne öğeye eklenmeden önce bir dizeye dönüştürülür. Nesne türü dize biçimini belirler, ancak biçim nesnenin varsayılan görüntüsünden farklı olabilir. Dize biçimini denetlemek için, gönderen cmdlet'in biçimlendirme parametrelerini kullanın.

  • Add-Content Cmdlet, herhangi bir sağlayıcı tarafından kullanıma sunulan verilerle çalışacak şekilde tasarlanmıştır. Oturumunuzda kullanılabilen sağlayıcıları listelemek için yazın Get-PSProvider. Daha fazla bilgi için bkz . about_Providers.