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]
[-NoNewline]
[-Encoding <Encoding>]
[-AsByteStream]
[-Stream <string>]
[<CommonParameters>]
LiteralPath - FileSystem provider
Set-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-NoNewline]
[-Encoding <Encoding>]
[-AsByteStream]
[-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]
[<CommonParameters>]
LiteralPath - All providers
Set-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<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. 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
-AsByteStream
Bu, FileSystem sağlayıcısı tarafından sağlanan dinamik bir parametredir. Daha fazla bilgi için bkz. about_FileSystem_Provider.
İçeriğin bayt akışı olarak yazılması gerektiğini belirtir. Bu parametre PowerShell 6.0'da kullanıma sunulmuştur.
Kodlama parametresiyle AsByteStream parametresini kullandığınızda bir uyarı oluşur. AsByteStream parametresi tüm kodlamaları yoksayar ve çıkış bayt akışı olarak yazılır.
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 |
-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: utf8NoBOM.
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ümesi için kodlamayı kullanır. -
ansi: Geçerli kültürün ANSI kod sayfasının kodlamasını kullanır. Bu seçenek PowerShell 7.4'e eklendi. -
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: Küçük-öncelikli bayt sırası kullanılarak UTF-16 biçiminde kodlanır. -
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 Sırası İş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 sayısal kimliklerine (-Encoding 1251gibi) veya kayıtlı kod sayfalarının dize adlarına (-Encoding "windows-1251"gibi) de izin verir. Daha fazla bilgi için Encoding.CodePageiçin .NET belgelerine bakın.
PowerShell 7.4'den başlayarak, Ansi parametresinin değerini kullanarak geçerli kültürün ANSI kod sayfasının sayısal kimliğini el ile belirtmek zorunda kalmadan geçirebilirsiniz.
Uyarı
UTF-7* artık kullanılması önerilmez. PowerShell 7.1'den itibaren, utf7 parametresi için belirtirseniz bir uyarı yazılır.
Parametre özellikleri
| Tür: | Encoding |
| Default value: | utf8NoBOM |
| Kabul edilen değerler: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, 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, LP |
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. PowerShell 7.2'den itibaren, Set-Content hem dizinlerden hem de dosyalardan alternatif veri akışlarının içeriğini ayarlayabilir.
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 |
-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
-
Set-Content, dize işleme için tasarlanmıştır. Dize olmayan nesneleriSet-Content'e gönderirseniz, yazmadan önce nesneyi dizeye dönüştürür. Dosyalara nesne yazmak içinOut-Filekullanın. -
Set-Contentcmdlet'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çinGet-PSProvideryazın. Daha fazla bilgi için bkz. about_Providers.