Metode dan Operator Ganti PowerShell: Sintaks, Contoh

8 Juni 2021 14361 Tampilan Cara Menggunakan PowerShell Untuk Mendapatkan File, Dan Beberapa Informasi Versi Aplikasi

PowerShell Mengganti dapat digunakan untuk mengganti karakter, string, teks, atau karakter khusus. PowerShell memiliki Mengganti metode dan Mengganti Operator .

Zona S ini mengajari Anda cara menggunakan PowerShell Mengganti metode dan Mengganti Operator untuk melakukan berbagai tugas pengganti.

Panduan ini memiliki 2 bagian. Bagian pertama mencakup Mengganti metode dengan banyak contoh.

Kemudian, pada bagian kedua, Anda akan belajar cara menggunakan Mengganti Operator , juga dengan banyak contoh.

Jelajahi Topik Posting

Cara Menggunakan Metode Ganti PowerShell Dengan Banyak Contoh

Cara Menggunakan Metode Ganti PowerShell Dengan Banyak Contoh

Seperti yang saya sebutkan di pendahuluan, bagian ini mengajarkan Anda cara menggunakan Ganti Metode . Bagian ini dimulai dengan sintaks dari Ganti Metode .

Sintaks Metode Ganti PowerShell

Sintaks dari Mengganti metode adalah…

|_+_| |_+_|

Sintaksnya adalah melakukan hal yang sama. Satu-satunya alasan saya memiliki keduanya adalah untuk menggambarkan bahwa Anda dapat mengganti karakter atau string.

Sintaks pertama menunjukkan cara menggunakan Metode Ganti PowerShell untuk mengganti karakter. Namun, sintaks kedua menunjukkan cara mengganti string.

Cara Membuat Daftar Metode Dalam Objek PowerShell

Saya telah menyebutkan bahwa PowerShell memiliki Metode dan Operator Ganti. Anda dapat membuat daftar semua Metode yang tersedia di objek PowerShell dengan memindahkan objek ke: Dapatkan-Member memerintah.

Misalnya, untuk menemukan Metode yang tersedia di objek ini, jalankan perintah di bawah ini:

|_+_|

Perintah mengembalikan sekelompok Metode. Saya telah menyoroti Mengganti metode dalam tangkapan layar di bawah ini.

Selain itu, ada cara lain untuk menjalankan Dapatkan-Member memerintah. Alih-alih memasukkan objek ke dalam Dapatkan-Member perintah, Anda dapat menentukan objek dalam parameter InputObject dari Dapatkan-Member .

Berikut adalah contoh…

|_+_|

Hasilnya juga mencantumkan sejumlah Metode yang tersedia di objek – termasuk Mengganti metode .

Cara Menggunakan Metode Ganti PowerShell Dengan Banyak Contoh

Satu hal terakhir sebelum saya melanjutkan ke sub-bagian berikutnya, jika Anda melihat kolom Deskripsi hasil dari dua perintah terakhir, ia memiliki sintaks Metode.

Ini sangat berguna karena memberitahu Anda bagaimana menggunakan Metode.

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Karakter Dalam String

Saya sebutkan di sub-bagian Sintaks bahwa Anda dapat mengganti karakter atau string. Untuk memberikan contoh sederhana, saya ingin mengganti V di Victor dengan huruf kecil v.

Berikut perintah…

|_+_|

Dan inilah hasilnya di PowerShell…

Nilai dalam Metode Penggantian PowerShell peka terhadap huruf besar/kecil. Nilai-nilai akan memeriksa kasus karakter yang tepat. Misalnya, jika saya mencoba mengganti huruf kecil v di Victor dan mencoba menggantinya dengan A, perintahnya akan mengembalikan hasil yang sama.

Berikut adalah perintah yang saya jelaskan dalam catatan di atas ...

|_+_|

Ketika saya menjalankan perintah ini di PowerShell, ia mengembalikan Victor, objek asli karena tidak ada huruf kecil v dalam string, Victor!

Di PowerShell Mengganti Operator bagian dari panduan ini, Anda akan mempelajari bahwa – tidak seperti Metode Ganti – Mengganti Operator tidak peka huruf besar/kecil.

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Banyak String Dalam File Teks

Mengikuti pemikiran dalam panduan ini, Anda juga dapat mengganti beberapa string dalam file teks.

Dalam contoh ini, saya memiliki file teks dengan beberapa nama server. Berikut adalah tangkapan layar dari file teks.

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Banyak String Dalam File Teks

Saya ingin mengganti nama server, ITGServer1 dengan ITGServer4. Selain itu, saya ingin mengganti ITGServer2 dengan ITGServer5 dan ITGServer3 dengan ITGServer6.

Berikut adalah skrip yang akan melakukan tugas ...

|_+_|

Baris pertama skrip menggunakan Dapatkan-Konten untuk mengimpor konten file teks ke PowerShell. Kemudian, pipa hasilnya ke Untuk Setiap-Obyek .

Akhirnya, di dalam Untuk Setiap-Obyek loop, PowerShell menggunakan variabel athematic, $_ dibuat untuk setiap objek oleh Untuk Setiap-Obyek untuk Mengganti item seperti yang ditentukan.

Saya telah merantai Metode Penggantian PowerShell. Jika tidak, skrip menghasilkan hasil yang tidak diinginkan.

Untuk menjalankan skrip, salin ke PowerShell ISE dan jalankan.

Di versi terakhir skrip, PowerShell menampilkan hasilnya di konsol. Kamu bisa tulis outputnya dengan mem-pipping perintah yang ada ke Set-Konten memerintah.

Berikut adalah skrip yang diperbarui. Untuk menghindari kesalahan penulisan, saya menyimpan output dari versi skrip sebelumnya ke sebuah variabel. Kemudian, saya menyalurkan variabel ke Set-Konten memerintah.

|_+_|

Berikut adalah output dari file teks baru…

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Banyak String Dalam File Teks

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Banyak Karakter

Pemrosesan penggantian beberapa string dalam file teks sama dengan mengganti beberapa karakter dalam sebuah string. Dari contoh di bagian terakhir, lebih baik untuk merantai Metode Ganti.

Dalam contoh ini, saya ingin mengganti M di Metode menjadi T. Selain itu, saya ingin mengganti d dengan D.

Berikut perintah…

|_+_|

Dan hasilnya di PowerShell…

Cara Menggunakan Metode Ganti PowerShell Di Pipeline

Di bagian terakhir, saya menjalankan perintah ini tanpa menyalurkan string, Metode ke Mengganti Metode:

|_+_|

Saya dapat menjalankan perintah yang sama, tetapi kali ini menyalurkan string ke Metode Ganti. Namun, setelah saya meneruskannya ke pipa, saya harus memanggil string dengan variabel otomatis pipa, $_.

Perintah harus diubah seperti yang ditunjukkan di bawah ini:

|_+_|

Seperti yang Anda lihat dari tangkapan layar di bawah, perintah terakhir menghasilkan hasil yang sama dengan perintah di sub-bagian terakhir…

Cara Menggunakan Metode Ganti PowerShell Di Pipeline

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Semua String Setelah Karakter

Pada contoh di sub-bagian ini saya ingin mengganti semuanya setelah backslash terakhir, dalam string ini – c:programfiles vversion8uninstall.exe – dengan string kosong.

Kedua perintah ini akan melakukan pekerjaan itu.

|_+_|

Perintah pertama menyimpan string dalam sebuah variabel. Kemudian, perintah kedua menggunakan Metode Ganti PowerShell untuk mengganti semuanya setelah string dengan spasi kosong.

Secara efektif, semuanya setelah dihapus. Berikut adalah hasil dari perintah..

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti String Dalam File Teks

Saya memiliki file teks bernama File proses1.txt . File teks memiliki nilai, AgentSvc yang ingin saya ganti dengan AgentSvc_New.

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti String Dalam File Teks

Perintah di bawah ini akan menyelesaikan tugas…

|_+_|

Perintah pertama menyimpan jalur file ke variabel. Juga, perintah kedua menyimpan nilai yang ingin saya temukan di variabel lain.

Selain itu, baris ketiga menyimpan string ganti di variabel lain. Akhirnya, pada perintah terakhir, saya memanggil Metode Ganti di hasil dari Dapatkan-Konten memerintah.

Kemudian, dalam Metode Ganti, saya menggunakan nilai yang disimpan dalam variabel $find dan $replace. Kemudian, pipa output ke Set-Konten yang memperbarui file teks dengan nilai baru.

Setelah menjalankan perintah, berikut adalah nilai baru dalam file teks.

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Kutipan Ganda Dengan Kutipan Tunggal

Di subbagian ini, saya ingin mengganti tanda kutip ganda di 234″20.1.221 dengan kutipan tunggal. Berikut adalah perintah-perintah…

|_+_|

Baris pertama menyimpan string, 234″20.1.221 dalam sebuah variabel. Kemudian, di baris kedua, saya menggunakan Metode Ganti PowerShell untuk mengganti tanda kutip ganda dalam string dengan tanda kutip tunggal.

Triknya ada di aplikasi dan penggunaan PowerShell quoting rules. PowerShell menggunakan tanda kutip tunggal dan ganda untuk menentukan string literal.

Dalam contoh ini, kami ingin mengganti tanda kutip ganda, , dalam sebuah string dengan tanda kutip tunggal, . Namun, jika Anda ingat, dalam Metode Ganti PowerShell, Anda juga memerlukan tanda kutip untuk menentukan nilai yang ingin Anda ganti dan nilai baru.

Jadi, untuk menentukan nilai saat ini (tanda kutip ganda) dalam perintah Ganti, kami membungkus tanda kutip ganda dalam tanda kutip tunggal – ''.

Selain itu, untuk menentukan nilai baru (tanda kutip tunggal), Anda membungkusnya dengan tanda kutip ganda – .

Juga, karena adanya tanda kutip ganda dalam string asli, 234″20.1.221 , untuk menyimpan string dalam variabel, saya harus membungkus string dalam tanda kutip tunggal.

Kembali ke perintah…

|_+_|

Berikut adalah hasil di PowerShell…

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Kutipan Ganda Dengan Kutipan Tunggal

Sesederhana contoh ini terlihat, jika Anda tidak memahami aturan mengutip PowerShell, Anda akan berjuang untuk mendapatkan PowerShell untuk menyelesaikan tugas ini!

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Kecocokan yang Tepat

Bagian ini menawarkan contoh Metode Penggantian PowerShell lainnya. Kali ini, saya ingin mengajari Anda cara mengganti pencocokan tepat dalam sebuah string.

Contoh di bagian ini adalah dari ini stackoverflow.com benang. Pengguna yang memposting pertanyaan ingin mengganti teh di string ini, saya membawa teh untuk tim saya dengan kopi.

Berikut adalah perintah yang melakukan pekerjaan ...

|_+_|

Dan inilah hasil dari perintah di PowerShell…

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Garis Miring Balik ()

Di sub-bab ini, saya akan mengganti garis miring terbalik tunggal, () di string ini, 23420.1.2021 dengan garis miring terbalik ganda, (\). Berikut perintah…

|_+_|

Hasilnya di PowerShell…

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Garis Miring Balik ()

Seperti yang akan Anda lihat di bagian PowerShell Replace Operator dari panduan ini, mengganti backslash tunggal dengan Replace Operator tidak semudah ini.

Cara Mengganti Karakter Nama File yang Tidak Valid Di PowerShell

Sistem Operasi Windows memiliki beberapa karakter yang tidak dapat digunakan untuk menamai file atau folder. Karakter ini umumnya disebut karakter nama file yang tidak valid.

Jika Anda mencoba membuat nama file dengan salah satu karakter, Anda akan menerima pesan kesalahan.

Jadi, jika Anda menulis skrip PowerShell yang menggunakan beberapa keluaran untuk membuat nama file tetapi keluaran ini berisi salah satu karakter nama file yang tidak valid, Anda harus menghapus karakter tersebut.

Script yang dibahas dalam sub-bagian ini tidak menggunakan metode PowerShell Replace. Namun, saya memutuskan untuk memasukkannya karena saya yakin itu memperbaiki masalah unik yang mungkin dihadapi sebagian besar SysAdmins.

Pindah, saya mendapat contoh yang akan saya bahas segera dari ini Stackoverflow.com pertanyaan. Pengguna yang mengajukan pertanyaan ingin menghapus karakter yang tidak valid dari string sebelum menggunakan string untuk membuat file.

Selain itu, jika string berisi spasi, pengguna ingin mempertahankan spasi dalam nama file.

Saya melihat solusi yang disukai oleh pengguna yang berbeda. Yang dengan solusi terbaik telah diposting oleh John Longmuir .

Dalam contoh John, dia ingin menghapus semua karakter nama file yang tidak valid dalam string, 'abc* def.txt'. Namun, seperti yang diminta oleh penulis pertanyaan awal, ia ingin mempertahankan spasi dalam string.

Ini naskah John…

|_+_|

Pada perintah pertama, ia menyimpan string dalam sebuah variabel. Kemudian, di bagian pertama dari perintah kedua (sebelum pipa), ia mengubah $ tidak me variabel menjadi tipe data [char].

Tipe data [char] adalah karakter 16-bit Unicode.

Di bagian kedua dari perintah, John menyalurkan output dari tipe data [char] yang dikonversi ke perintah Where-Object. Di dalam blok skrip Where-Object, dia memanggil GetinvalidFileNameChars() Metode dari Kelas Jalan , [IO.Path] .

Kemudian, beri tahu PowerShell untuk mengembalikan hanya nilai yang tidak terkandung dalam GetinvalidFileNameChars() Metode.

Itu GetinvalidFileNameChars() Metode mencantumkan semua karakter nama file yang tidak valid.

Akhirnya, setelah karakter nama file yang tidak valid telah dihapus, dia menggunakan PowerShell Join untuk membuat semua karakter menjadi string.

Hasil akhirnya adalah...Khusus (karakter nama file tidak valid) hilang, tetapi string dikembalikan dengan spasi!

Untuk membuatnya mudah digunakan, dan berdasarkan skrip asli yang diposting oleh Stackoverflow.com penulis pertanyaan, saya memutuskan untuk mengubah skrip John menjadi PowerShell Function .

Ini adalah Fungsi PowerShell, Hapus-InvalidFileNameChars.

|_+_|

Cara Menggunakan Operator Pengganti PowerShell Dengan Banyak Contoh

Cara Menggunakan Operator Pengganti PowerShell Dengan Banyak Contoh

Di bagian pertama panduan ini, saya membahas berbagai contoh Metode Penggantian PowerShell. Di bagian ini, saya akan fokus pada PowerShell Replace Operator.

Bagian ini dimulai dengan membahas sintaks PowerShell Replace Operator.

Sintaks Operator Pengganti PowerShell

Sintaks dari PowerShell Replace Operator adalah…

|_+_| |_+_|

Satu perbedaan yang jelas antara Metode PowerShell dan Operator adalah cara mereka digunakan. Dalam Metode, Anda menempatkan titik (.) di sebelah objek, diikuti dengan nama Metode dan tanda kurung ().

Sebaliknya, untuk Operator, Anda menambahkan spasi setelah objek PowerShell, diikuti oleh – dan nama jika operator.

Jadi, dalam contoh berikut, alih-alih menggunakan .Mengganti() , saya akan menggunakan -Mengganti !

Cara Menggunakan Metode Ganti PowerShell Untuk Mengoperasikan Karakter Dalam String

Untuk mengganti karakter i dengan I pada string, Victor, saya akan menggunakan perintah di bawah ini…

|_+_|

Hasilnya di PowerShell…

Tidak seperti, Metode Penggantian PowerShell yang peka huruf besar/kecil, Operator Penggantian PowerShell tidak. Jadi, perintah di bawah ini, akan menghasilkan hasil yang sama dengan perintah sebelumnya…

|_+_|

Kali ini, saya menggunakan huruf kapital I di sisi nilai Mengganti operator. Perhatikan bahwa tidak ada huruf kapital I dalam string, Victor.

Jadi, jika Anda menulis skrip PowerShell yang perlu mengganti karakter atas dan bawah, gunakan Ganti Operator alih-alih Metode Ganti.

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Banyak String Dalam File Teks

Di bagian Ganti Metode, saya memberikan contoh di mana saya mengganti nama server di file teks ini.

Cara Menggunakan Metode Ganti PowerShell Untuk Mengganti Banyak String Dalam File Teks

Saya ingin mengganti nama server, ITGServer1 dengan ITGServer4. Selain itu, saya ingin mengganti ITGServer2 dengan ITGServer5 dan ITGServer3 dengan ITGServer6.

Berikut adalah versi Ganti Operator dari skrip yang digunakan dalam contoh Metode Ganti ...

|_+_| Seperti yang kami lakukan dalam contoh Metode Ganti, bagian Ganti Operator dari skrip terakhir dirantai.

Cara Menggunakan Operator Penggantian PowerShell Untuk Mengganti String Dan Karakter Peka Huruf Besar

Pada berbagai poin dalam panduan ini, saya telah mengisyaratkan bahwa Metode Penggantian PowerShell peka terhadap huruf besar-kecil. Namun, Operator Ganti PowerShell tidak.

Pada bagian ini saya ingin menggambarkan dengan sebuah contoh.

Misalnya, perintah ini TIDAK akan menggantikan R karena Metode Ganti peka huruf besar/kecil.

|_+_|

Namun, perintah ini akan menggantikan R karena Operator Ganti TIDAK peka huruf besar-kecil secara default

|_+_|

Cara Menggunakan Operator Ganti PowerShell Untuk Mengganti Garis Miring Balik ()

Di bagian pertama panduan ini, saya menggunakan perintah PowerShell ini untuk mengganti garis miring terbalik tunggal, () dalam string ini, 23420.1.2021 , dengan garis miring terbalik ganda, (\)…

|_+_|

Seperti yang Anda lihat, saya hanya menggunakan satu garis miring terbalik dalam Metode Ganti tanpa masalah.

Namun, jika saya mengubah perintah terakhir menjadi versi Ganti Operator, saya akan menerima pesan kesalahan. Berikut adalah versi Ganti Operator dari perintah:

|_+_|

Jika saya menjalankan perintah di PowerShell, saya akan menerima pesan kesalahan…

Alasan kesalahan ini adalah karena di PowerShell, diperlakukan sebagai pola ekspresi reguler. Untuk mengatasi masalah ini, saya perlu menambahkan backslash kedua di .

Ini akan membuat garis miring terbalik tunggal di , tampak seperti ganda, \. Namun, garis miring terbalik kedua memberi tahu PowerShell untuk tidak memperlakukan sebagai pola ekspresi reguler.

Jadi perintahnya sekarang adalah ..

|_+_|

Sekarang perintahnya bekerja seperti pesona!

Itu dia – panduan Ganti PowerShell yang komprehensif dan dirubah! Saya harap Anda merasa terbantu?

Jika Anda merasa terbantu, silakan pilih Ya ke pertanyaan Apakah posting ini bermanfaat di bawah ini.

Atau, Anda dapat mengajukan pertanyaan, memberikan komentar, atau memberikan lebih banyak umpan balik dengan formulir Tinggalkan Balasan yang ada di akhir halaman ini.

Terakhir, untuk Zona S teknologi PowerShell lainnya, kunjungi halaman panduan Cara Menggunakan Windows PowerShell kami. Anda juga dapat menemukan halaman Kerja dari Rumah kami sangat membantu.

Referensi dan Bacaan Lebih Lanjut

  1. Tentang metode
  2. Tentang Operator
  3. about_Quoting_Rules
  4. Cara: Menentukan Tipe Data PowerShell
  5. Kelas Jalan
  6. Cara Mengekstrak Substring Powershell dari String
  7. Powershell If Else Dijelaskan: Sintaks dan Contoh