Beranda » bagaimana » Ganti Teks dalam File Teks Biasa dari Baris Perintah

    Ganti Teks dalam File Teks Biasa dari Baris Perintah

    Fungsi yang sangat berguna yang tidak ada di perpustakaan Windows dari alat baris perintah adalah kemampuan untuk mengganti teks dalam file teks biasa. Fungsi seperti ini dapat digunakan untuk berbagai tugas praktis yang banyak dilakukan admin sistem, seperti:

    • Perbarui file konfigurasi / INI untuk mengganti jalur UNC.
    • Memperbarui informasi pengguna secara massal yang disimpan dalam file INI di server Terminal / Citrix.
    • Gunakan bersama skrip untuk menggunakan data 'templated' dan kemudian menerapkan nilai ke file yang disalin.

    Solusi kami adalah VBScript yang berinteraksi dengan fungsi Visual Basic Replace. Dengan menempatkan skrip ini ke lokasi di variabel Windows PATH Anda, kini Anda memiliki fungsionalitas ini yang tersedia untuk Anda.

    Penggunaan

    Setelah masuk ke sistem Anda, Anda dapat memanggil skrip hanya dengan menggunakan perintah ReplaceText. Beberapa contoh akan menggambarkan cara Anda dapat menggunakan ini:

    Ganti kata "null" dengan "n / a" di file C: DataValues.csv:

    ReplaceText “C: DataValues.csv” null n / a

    Pindai semua file INI di folder C: Pengguna (+ sub direktori) yang mengganti semua kemunculan "Server = Lama" dengan "Server = Baru" menggunakan pencarian case-sensitive:

    FORFILES / P “C: Pengguna” / M * .ini / S / C “Cmd / C ReplaceText @path Server = Server Lama = Baru / I”

    Pindai semua file CFG di profil pengguna saat ini yang menggantikan "p @ ssw0rd" dengan "PA $$ woRd" menggunakan pencarian case sensitif:

    FORFILES / P “% UserProfile%” / M * .cfg / S / C “Cmd / C ReplaceText @path p @ ssw0rd PA $$ woRd”

    Seperti yang dapat Anda lihat di bawah, skrip sangat sederhana dan dapat dengan mudah dimodifikasi untuk mengakomodasi setiap situasi khusus yang mungkin Anda miliki. Sebagai alternatif, Anda mungkin ingin membuat salinan skrip yang berisi nilai khusus untuk hardcode sehingga Anda dapat menjalankan perintah dengan mengklik dua kali dan / atau memungkinkan Anda untuk dengan mudah mendistribusikannya kepada orang lain..

    Naskah

    'Ganti Teks
    'Ditulis oleh: Jason Faulkner
    'SysadminGeek.com

    'Skrip ini harus ditempatkan di folder yang ditentukan dalam variabel PATH sistem Anda.

    'Penggunaan (WScript):
    'ReplaceText FileName OldText NewText [/ I]

    '/ I (opsional) - Pencocokan teks tidak peka huruf besar kecil

    Setel oArgs = WScript.Arguments

    intCaseSensitive = 0
    Untuk i = 3 hingga oArgs.Count-1
    Jika UCase (oArgs (i)) = "/ I" Kemudian intCaseSensitive = 1
    Berikutnya

    Set oFSO = CreateObject ("Scripting.FileSystemObject")

    If Not oFSO.FileExists (oArgs (0)) Kemudian
    WScript.Echo "File yang ditentukan tidak ada."
    Lain
    Tetapkan oFile = oFSO.OpenTextFile (oArgs (0), 1)
    strText = oFile.ReadAll
    oFile.Tutup

    strText = Ganti (strText, oArgs (1), oArgs (2), 1, -1, intCaseSensitive)

    Set oFile = oFSO.OpenTextFile (oArgs (0), 2)
    oFile.WriteLine strText
    oFile.Tutup
    Berakhir jika

    catatan tambahan

    Secara default, Windows menggunakan WScript untuk mengeksekusi file VBScript (VBS). Satu-satunya masalah yang dapat menyebabkan ini adalah kesalahan dan / atau pesan dari skrip akan muncul sebagai kotak sembulan. Untuk alat baris perintah, sebaiknya pesan ini ditampilkan di konsol. Ada beberapa cara Anda bisa mencapai ini.

    Ubah penangan default file VBScript ke CScript dengan menjalankan perintah ini dari command prompt (dengan hak Administrator):

    CScript // H: CScript

    Jalankan skrip ReplaceText secara eksplisit menggunakan perintah CScript:

    CScript "C: PathToReplaceText.vbs" // B FileName OldText NewText [/ I]

    Sebagai kasus khusus, menjalankan ReplaceText dari skrip batch biasanya menyiratkan CScript sebagai mesin yang digunakan terlepas dari penangan default. Anda pasti ingin menguji ini sebelum mengandalkan fungsi ini.

    Unduh Script ReplaceText dari SysadminGeek.com