Set-Content
Menulis isi baru atau menggantikan isi yang ada dalam file.
Sintaks
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>]
Deskripsi
Set-Content adalah cmdlet pemrosesan string yang menulis konten baru atau mengganti konten dalam file.
Set-Content menggantikan konten yang ada dan berbeda dari cmdlet Add-Content yang menambahkan konten ke file. Untuk mengirim konten ke
Jika Anda perlu membuat file atau direktori untuk contoh berikut, lihat New-Item.
Contoh
Contoh 1: Ganti konten beberapa file dalam direktori
Contoh ini menggantikan konten untuk beberapa file di direktori saat ini.
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
Cmdlet
Contoh 2: Membuat file baru dan menulis konten
Contoh ini membuat file baru dan menulis tanggal dan waktu saat ini ke file.
Set-Content -Path .\DateTime.txt -Value (Get-Date)
Get-Content -Path .\DateTime.txt
1/30/2019 09:55:08
Set-Content menggunakan parameter Path dan Value untuk membuat file baru bernama DateTime.txt di direktori saat ini. Parameter Nilai
Contoh 3: Mengganti teks dalam file
Perintah ini menggantikan semua instans kata dalam file yang ada.
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.
Cmdlet Get-Content dibungkus dengan tanda kurung sehingga perintah selesai sebelum dikirim ke alur.
Konten file Notice.txt dikirim ke alur ke cmdlet ForEach-Object.
Set-Content.
Cmdlet Get-Content terakhir menampilkan konten file yang diperbarui di konsol PowerShell.
Contoh 4: Menggunakan Filter dengan Set-Content
Anda dapat menentukan filter ke cmdlet Set-Content. Saat menggunakan filter untuk memenuhi syarat parameter Jalur , Anda perlu menyertakan tanda bintang di belakang (*) untuk menunjukkan isi jalur tersebut.
Perintah berikut mengatur konten semua file *.txt di direktori C:\Temp ke nilai kosong.
Set-Content -Path C:\Temp\* -Filter *.txt -Value "Empty"
Parameter
-AsByteStream
Ini adalah parameter dinamis yang disediakan oleh penyedia FileSystem. Untuk informasi selengkapnya, lihat about_FileSystem_Provider.
Menentukan bahwa konten harus ditulis sebagai aliran byte. Parameter ini diperkenalkan di PowerShell 6.0.
Peringatan terjadi saat Anda menggunakan parameter AsByteStream dengan parameter Enkoding. Parameter AsByteStream mengabaikan pengodean apa pun dan output ditulis sebagai aliran byte.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Confirm
Meminta konfirmasi sebelum menjalankan cmdlet.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Cf |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Credential
Nota
Parameter ini tidak didukung oleh penyedia apa pun yang diinstal dengan PowerShell. Untuk meniru pengguna lain, atau meningkatkan kredensial Anda saat menjalankan cmdlet ini, gunakan Invoke-Command.
Properti parameter
| Jenis: | PSCredential |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Encoding
Ini adalah parameter dinamis yang disediakan oleh penyedia FileSystem. Untuk informasi selengkapnya, lihat about_FileSystem_Provider.
Menentukan jenis pengodean untuk file target. Nilai defaultnya adalah utf8NoBOM.
Pengodean adalah parameter dinamis yang ditambahkan penyedia FileSystem ke Set-Content. Parameter ini hanya berfungsi pada drive sistem berkas.
Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:
-
ascii: Menggunakan pengodean untuk set karakter ASCII (7-bit). -
ansi: Menggunakan pengodean untuk halaman kode ANSI budaya saat ini. Opsi ini ditambahkan di PowerShell 7.4. -
bigendianunicode: Mengenkripsi dalam format UTF-16 menggunakan urutan byte big-endian. -
bigendianutf32: Mengenkode dalam format UTF-32 menggunakan urutan byte big-endian. -
oem: Menggunakan pengkodean default untuk program MS-DOS dan program konsol. -
unicode: Mengode dalam format UTF-16 menggunakan urutan byte little-endian. -
utf7: Mengodekan dalam format UTF-7. -
utf8: Mengodekan dalam format UTF-8. -
utf8BOM: Mengodekan dalam format UTF-8 dengan Byte Order Mark (BOM) -
utf8NoBOM: Mengodekan dalam format UTF-8 tanpa Byte Order Mark (BOM) -
utf32: Mengodekan dalam format UTF-32.
Dimulai dengan PowerShell 6.2, parameter Pengodean
Dimulai dengan PowerShell 7.4, Anda dapat menggunakan nilai
Nota
UTF-7* tidak lagi disarankan untuk digunakan. Sejak PowerShell 7.1, sebuah peringatan akan ditulis jika Anda menentukan utf7 untuk parameter Pengodean .
Properti parameter
| Jenis: | Encoding |
| Nilai default: | utf8NoBOM |
| Nilai yang diterima: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Exclude
Menentukan item atau item-item yang tidak akan disertakan dalam operasi oleh cmdlet ini, dalam bentuk array string. Nilai parameter ini memenuhi syarat parameter Jalur. Masukkan elemen atau pola jalur, seperti *.txt. Karakter pengganti diizinkan. Parameter Exclude hanya efektif ketika perintah menyertakan konten suatu item, seperti C:\Windows\*, di mana karakter wildcard menentukan konten direktori C:\Windows.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | True |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Filter
Menentukan filter untuk mengkualifikasi parameter Jalur . Penyedia FileSystem adalah satu-satunya penyedia PowerShell yang diinstal yang mendukung penggunaan filter. Anda dapat menemukan sintaks untuk bahasa filter FileSystem dalam about_Wildcards. Filter lebih efisien daripada parameter lain, karena penyedia menerapkannya saat cmdlet mendapatkan objek, bukan PowerShell yang memfilternya setelah objek tersebut diambil.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | True |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Force
Memaksa cmdlet untuk mengatur konten file, bahkan jika file bersifat baca-saja. Implementasi bervariasi dari penyedia ke penyedia. Untuk informasi selengkapnya, lihat tentang_Penyedia. Parameter Force tidak mengesampingkan pembatasan keamanan.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Include
Menentukan item atau beberapa item dalam bentuk array string yang disertakan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Jalur. Masukkan elemen atau pola jalur, seperti "*.txt". Karakter pengganti diizinkan. Parameter Sertakan hanya efektif ketika perintah menyertakan konten item, seperti C:\Windows\*, di mana karakter wildcard menentukan konten direktori C:\Windows.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | True |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-LiteralPath
Menentukan jalur ke satu atau beberapa lokasi. Nilai LiteralPath digunakan persis seperti yang diketikkan. Tidak ada karakter yang ditafsirkan sebagai wildcard. Jika jalur menyertakan karakter escape, bungkus jalur tersebut dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.
Untuk informasi lebih lanjut, lihat about_Quoting_Rules.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | PSPath, LP |
Kumpulan parameter
LiteralPath
| Position: | Named |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-NoNewline
Ini adalah parameter dinamis yang disediakan oleh penyedia FileSystem. Untuk informasi selengkapnya, lihat about_FileSystem_Provider.
Representasi string dari objek input digabungkan untuk membentuk output. Tidak ada spasi atau baris baru yang dimasukkan di antara string output. Tidak ada baris baru yang ditambahkan setelah string output terakhir.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-PassThru
Mengembalikan objek yang mewakili konten. Secara default, cmdlet ini tidak menghasilkan output apa pun.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Path
Menentukan jalur item yang menerima konten. Karakter pengganti diizinkan.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | True |
| DontShow: | False |
Kumpulan parameter
Path
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Stream
Ini adalah parameter dinamis yang disediakan oleh penyedia FileSystem. Parameter ini hanya tersedia di Windows. Untuk informasi selengkapnya, lihat about_FileSystem_Provider.
Menentukan aliran data alternatif untuk konten. Jika aliran tidak ada, cmdlet ini akan membuatnya. Karakter kartubebas tidak didukung.
Anda dapat menggunakan cmdlet Set-Content untuk membuat atau memperbarui konten aliran data alternatif apa pun, seperti Zone.Identifier. Namun, kami tidak merekomendasikan ini sebagai cara untuk menghilangkan pemeriksaan keamanan yang memblokir file yang diunduh dari Internet. Jika Anda memverifikasi bahwa file yang diunduh aman, gunakan cmdlet Unblock-File.
Parameter ini diperkenalkan di PowerShell 3.0. Pada PowerShell 7.2, Set-Content dapat mengatur konten aliran data alternatif dari direktori serta file.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Value
Menentukan isi baru untuk item tersebut.
Properti parameter
| Jenis: | Object[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | 1 |
| Wajib: | True |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-WhatIf
Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | wi |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
Object
Anda dapat menyalurkan objek yang berisi nilai baru untuk item ke cmdlet ini.
Output
None
Secara default, cmdlet ini tidak mengembalikan output.
String
Saat Anda menggunakan parameter PassThru, cmdlet ini mengembalikan string yang mewakili konten.
Catatan
-
Set-Contentdirancang untuk pemrosesan string. Jika Anda menyalurkan objek non-string keSet-Content, objek akan dikonversi menjadi string sebelum menulisnya. Untuk menulis objek ke file, gunakanOut-File. - Cmdlet
Set-Contentdirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia yang tersedia dalam sesi Anda, ketikGet-PSProvider. Untuk informasi selengkapnya, lihat tentang_Penyedia.