Fungsi yang sangat berguna yang hilang dari pustaka Windows alat baris perintah adalah kemampuan untuk mengganti teks dalam file teks biasa. Fungsi seperti ini dapat digunakan untuk berbagai tugas praktis yang dilakukan oleh banyak sistem admin, seperti:
Solusi kami adalah VBScript yang berinteraksi dengan fungsi Ganti Visual Basic. Dengan menempatkan skrip ini ke lokasi dalam variabel PATH Windows Anda, Anda sekarang memiliki fungsi ini yang tersedia untuk Anda gunakan.
Setelah berada di sistem Anda, Anda dapat memanggil skrip dengan hanya menggunakan perintah ReplaceText. Beberapa contoh akan mengilustrasikan cara-cara Anda dapat menggunakan ini:
Ganti kata "null" dengan "n / a" di C: DataValues.csv file:
ReplaceText “C: DataValues.csv” null n / a
Pindai semua file INI di folder C: Pengguna (+ sub direktori) menggantikan semua kemunculan "Server = Lama" dengan "Server = Baru" menggunakan pencarian tidak peka huruf besar kecil:
FORFILES / P "C: Pengguna" / M * .ini / S / C "Cmd / C ReplaceText @path Server = Server Lama = Baru / Saya"
Pindai semua file CFG di profil pengguna saat ini menggantikan "p @ ssw0rd" dengan "PA $$ woRd" menggunakan pencarian sensitif huruf:
FORFILES / P “% UserProfile%” / M * .cfg / S / C “Cmd / C ReplaceText @path p @ ssw0rd PA $$ woRd”
Seperti yang Anda lihat di bawah, skripnya sangat sederhana dan dapat dengan mudah dimodifikasi untuk mengakomodasi situasi khusus apa pun yang mungkin Anda miliki. Sebagai alternatif, Anda mungkin ingin membuat salinan skrip yang meng-hardcode nilai-nilai tertentu sehingga Anda dapat menjalankan perintah dengan klik-ganda dan / atau memungkinkan Anda mendistribusikannya dengan mudah kepada orang lain.
'Ganti Teks 'Skrip ini harus ditempatkan dalam folder yang ditentukan dalam variabel PATH sistem Anda. 'Penggunaan (WScript): '/ I (opsional) - Pencocokan teks tidak peka huruf besar / kecil Setel oArgs = WScript.Arguments intCaseSensitive = 0 Set oFSO = CreateObject ("Scripting.FileSystemObject") Jika Bukan oFSO.FileExists (oArgs (0)) Kemudian strText = Ganti (strText, oArgs (1), oArgs (2), 1, -1, intCaseSensitive) Set oFile = oFSO.OpenTextFile (oArgs (0), 2)
'Ditulis oleh: Jason Faulkner
'SysadminGeek.com
'GantiText FileName OldText NewText [/ I]
Untuk i = 3 ke oArgs.Count-1
Jika UCase (oArgs (i)) = "/ I" Kemudian intCaseSensitive = 1
Berikutnya
WScript.Echo "File yang ditentukan tidak ada."
Lain
Set oFile = oFSO.OpenTextFile (oArgs (0), 1)
strText = oFile.ReadAll
oFile.Tutup
oFile.WriteLine strText
oFile.Tutup
Berakhir jika
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 popup. Untuk alat baris perintah, sebaiknya pesan ini ditampilkan di konsol. Ada beberapa cara untuk mencapai hal 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, mengeksekusi ReplaceText dari skrip batch biasanya mengimplikasikan CScript sebagai mesin yang digunakan terlepas dari penangan default. Anda pasti ingin menguji ini meskipun sebelum mengandalkan fungsi ini.
Unduh Script ReplaceText dari SysadminGeek.com