Set-Content

Yeni içerik yazar veya bir dosyadaki mevcut içeriği değiştirir.

Syntax

Path (Default) - FileSystem provider

Set-Content
    [-Path] <string[]>
    [-Value] <Object[]>
    [-PassThru]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [-NoNewline]
    [-Encoding <FileSystemCmdletProviderEncoding>]
    [-Stream <string>]
    [<CommonParameters>]

LiteralPath - FileSystem provider

Set-Content
    [-Value] <Object[]>
    -LiteralPath <string[]>
    [-PassThru]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [-NoNewline]
    [-Encoding <FileSystemCmdletProviderEncoding>]
    [-Stream <string>]
    [<CommonParameters>]

Path (Default) - All providers

Set-Content
    [-Path] <string[]>
    [-Value] <Object[]>
    [-PassThru]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<CommonParameters>]

LiteralPath - All providers

Set-Content
    [-Value] <Object[]>
    -LiteralPath <string[]>
    [-PassThru]
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [-UseTransaction]
    [<CommonParameters>]

Description

Set-Content, yeni içerik yazan veya dosyadaki içeriğin yerini alan bir dize işleme cmdlet'idir. Set-Content var olan içeriğin yerini alır ve dosyaya içerik ekleyen Add-Content cmdlet'inden farklıdır. Set-Content içerik göndermek için komut satırındaki Değer parametresini kullanabilir veya işlem hattı üzerinden içerik gönderebilirsiniz.

Aşağıdaki örnekler için dosya veya dizin oluşturmanız gerekiyorsa bkz. New-Item.

Örnekler

Örnek 1: Dizindeki birden çok dosyanın içeriğini değiştirme

Bu örnek, geçerli dizindeki birden çok dosyanın içeriğinin yerini alır.

Get-ChildItem -Path .\Test*.txt
Test1.txt
Test2.txt
Test3.txt
Set-Content -Path .\Test*.txt -Value 'Hello, World'
Get-Content -Path .\Test*.txt
Hello, World
Hello, World
Hello, World

Get-ChildItem cmdlet'i, geçerli dizindeki ile başlayan .txt dosyaları listelemek için Test* parametresini kullanır. Set-Content cmdlet'i, dosyalarını belirtmek için Test*.txt parametresini kullanır. Değeri parametresi, her dosyadaki mevcut içeriğin yerini alan Hello, World metin dizesini sağlar. Get-Content cmdlet'i, dosyalarını belirtmek için Test*.txt parametresini kullanır ve her dosyanın içeriğini PowerShell konsolunda görüntüler.

Örnek 2: Yeni dosya oluşturma ve içerik yazma

Bu örnek yeni bir dosya oluşturur ve geçerli tarih ve saati dosyaya yazar.

Set-Content -Path .\DateTime.txt -Value (Get-Date)
Get-Content -Path .\DateTime.txt
1/30/2019 09:55:08

Set-Content, geçerli dizinde DateTime.txt adlı yeni bir dosya oluşturmak için Yol ve Value parametrelerini kullanır. Değeri parametresi, geçerli tarih ve saati almak için Get-Date kullanır. Set-Content DateTime nesnesini dosyaya dize olarak yazar. Get-Content cmdlet'i, DateTime.txt içeriğini PowerShell konsolunda görüntülemek için Path parametresini kullanır.

Örnek 3: Dosyadaki metni değiştirme

Bu komut, var olan bir dosyadaki tüm sözcük örneklerinin yerini alır.

Get-Content -Path .\Notice.txt
Warning
Replace Warning with a new word.
The word Warning was replaced.
(Get-Content -Path .\Notice.txt) |
    ForEach-Object {$_ -replace 'Warning', 'Caution'} |
        Set-Content -Path .\Notice.txt
Get-Content -Path .\Notice.txt
Caution
Replace Caution with a new word.
The word Caution was replaced.

Get-Content cmdlet'i geçerli dizindeki Notice.txt dosyasını belirtmek için Path parametresini kullanır. Get-Content komutu parantezlerle sarmalanır, böylece komut işlem hattına gönderilmeden önce tamamlanır.

Notice.txt dosyasının içeriği işlem hattına ForEach-Object cmdlet'ine gönderilir. ForEach-Object otomatik değişken $_ kullanır ve Uyarı her oluşumunu Dikkatile değiştirir. Nesneler işlem hattına Set-Content cmdlet'ine gönderilir. Set-Content Notice.txt dosyasını belirtmek için Path parametresini kullanır ve güncelleştirilmiş içeriği dosyaya yazar.

Son Get-Content cmdlet'i PowerShell konsolunda güncelleştirilmiş dosya içeriğini görüntüler.

Örnek 4: filtreleri Set-Content ile kullanma

Set-Content cmdlet'ine bir filtre belirtebilirsiniz. Yolu parametresini niteleme amacıyla filtreler kullanırken, yolun içeriğini göstermek için sondaki yıldız işareti (*) eklemeniz gerekir.

Aşağıdaki komut, *.txt dizinindeki tüm C:\Temp dosyalarının içeriğini Değeri boş olarak ayarlar.

Set-Content -Path C:\Temp\* -Filter *.txt -Value "Empty"

Parametreler

-Confirm

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

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Cf

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

-Credential

Uyarı

Bu parametre, PowerShell ile yüklenen hiçbir sağlayıcı 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-Commandkullanın.

Parametre özellikleri

Tür:PSCredential
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:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Encoding

Bu, FileSystem sağlayıcısı tarafından sağlanan dinamik bir parametredir. Daha fazla bilgi için bkz. about_FileSystem_Provider.

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

Kodlama, FileSystem sağlayıcısının Set-Contenteklediğ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ümesini kullanır.
  • BigEndianUnicode, büyük endian bayt sırası ile UTF-16 kullanır.
  • BigEndianUTF32 UTF-32'yi büyük endian bayt düzeniyle kullanır.
  • Byte Bir karakter kümesini bayt dizisine kodlar.
  • 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.
  • String Unicodeile aynıdır.
  • Unicode UTF-16'yı little-endian bayt sırasıyla kullanır.
  • Unknown Unicodeile aynıdır.
  • UTF7 UTF-7 kullanır.
  • UTF8 UTF-8 kullanır.
  • UTF32 küçük-endian bayt düzeniyle UTF-32'yi kullanır.

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

Parametre özellikleri

Tür:FileSystemCmdletProviderEncoding
Default value:Default
Kabul edilen değerler:ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, 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

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

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

-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özdizimini about_Wildcards'de bulabilirsiniz. Filtreler diğer parametrelerden daha verimlidir, çünkü sağlayıcı, nesneleri aldıktan sonra PowerShell'in filtrelemesini yapmak yerine cmdlet nesneleri aldığında bunları uygular.

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

-Force

Cmdlet'i, dosya salt okunur olsa bile dosyanın içeriğini ayarlamaya zorlar. Uygulama sağlayıcıdan sağlayıcıya değişir. Daha fazla bilgi için bkz. about_Providers. Force parametresi güvenlik kısıtlamalarını geçersiz kılmaz.

Parametre özellikleri

Tür:SwitchParameter
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

-Include

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

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

-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, 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

LiteralPath
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

-NoNewline

Bu, FileSystem sağlayıcısı tarafından sağlanan dinamik bir parametredir. Daha fazla bilgi için bkz. about_FileSystem_Provider.

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.

Parametre özellikleri

Tür:SwitchParameter
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

-PassThru

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

Parametre özellikleri

Tür:SwitchParameter
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

-Path

İçeriği alan öğenin yolunu belirtir. Joker karakterlere izin verilir.

Parametre özellikleri

Tür:

String[]

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

Parametre kümeleri

Path
Position:0
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

-Stream

Bu, FileSystem sağlayıcısı tarafından sağlanan dinamik bir parametredir. Bu Parametre yalnızca Windows'da kullanılabilir. Daha fazla bilgi için bkz. about_FileSystem_Provider.

İç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 Set-Contenteklediği dinamik bir parametredir. Bu parametre yalnızca dosya sistemi sürücülerinde çalışır.

Set-Content cmdlet'ini kullanarak Zone.Identifiergibi herhangi bir alternatif veri akışının içeriğini oluşturabilir veya güncelleştirebilirsiniz. Ancak, İnternet'ten indirilen dosyaları engelleyen güvenlik denetimlerini ortadan kaldırmanın bir yolu olarak bunu önermeyiz. İndirilen bir dosyanın güvenli olduğunu doğrularsanız Unblock-File cmdlet'ini kullanın.

Bu parametre PowerShell 3.0'da kullanıma sunulmuştur.

Parametre özellikleri

Tür:String
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

-UseTransaction

Komutunu etkin işleme ekler. Bu parametre yalnızca bir işlem devam ederken geçerlidir. Daha fazla bilgi için bkz. about_Transactions.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:usetx

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

-Value

Öğenin yeni içeriğini belirtir.

Parametre özellikleri

Tür:

Object[]

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

Parametre kümeleri

(All)
Position:1
Zorunlu:True
İşlem hattından gelen değer:True
Ö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

-WhatIf

Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Wi

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

Object

Öğenin yeni değerini içeren bir nesneyi bu cmdlet'e aktarabilirsiniz.

Çı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 dize döndürür.

Notlar

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

  • sc

  • Set-Content, dize işleme için tasarlanmıştır. Dize olmayan nesneleri Set-Content'e gönderirseniz, yazmadan önce nesneyi dizeye dönüştürür. Dosyalara nesne yazmak için Out-Filekullanın.

  • Set-Content cmdlet'i 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 Get-PSProvideryazın. Daha fazla bilgi için bkz. about_Providers.