Düz Metin Dosyalarındaki Komut Satırındaki Metni Değiştirme
Komut satırı araçları Windows kütüphanesinden eksik olan çok kullanışlı bir işlev, düz metin dosyalarındaki metni değiştirme yeteneğidir. Bunun gibi bir işlev, birçok sistem yöneticisinin gerçekleştirdiği çeşitli pratik görevler için kullanılabilir:
- UNC yollarını değiştirmek için yapılandırma / INI dosyalarını güncelleyin.
- Terminal / Citrix sunucusundaki INI dosyalarında depolanan toplu güncelleme kullanıcı bilgileri.
- 'Şablonlu' verileri dağıtmak için komut dosyalarıyla birlikte kullanın ve ardından kopyalanan dosyalara değerler uygulayın.
Bizim çözümümüz, Visual Basic Replace işleviyle arayüzleşen bir VBScript. Bu betiği Windows PATH değişkeninizdeki bir konuma yerleştirerek, artık bu işlevselliği emrinize alabilirsiniz.
Kullanımları
Sisteminize girdikten sonra, ReplaceText komutunu kullanarak komut dosyasını çağırabilirsiniz. Birkaç örnek bunu kullanmanın yollarını gösterecektir:
C: DataValues.csv dosyasındaki “null” kelimesini “n / a” ile değiştirin:
ReplaceText “C: DataValues.csv” boş n / a
Tüm INI dosyalarını C: Users (+ alt dizinler) klasöründe tarayın ve büyük bir duyarsız arama kullanarak “Server = Old” öğesinin tüm oluşumlarını “Server = New” ile değiştirin:
FORFILES / P “C: Kullanıcılar” / M * .ini / S / C “Cmd / C ReplaceText @path Server = Eski Sunucu = Yeni / I”
Geçerli kullanıcının profilindeki tüm CFG dosyalarını, büyük / küçük harf duyarlı bir arama kullanarak “p @ ssw0rd” yerine “PA $$ woRd” ile değiştirin:
FORFILES / P “% UserProfile%” / M * .cfg / S / C “Cmd / C ReplaceText @path p @ ssw0rd PA $$ woRd”
Aşağıda gördüğünüz gibi, senaryo çok basittir ve sahip olabileceğiniz her türlü özel durumu barındırmak için kolayca değiştirilebilir. Alternatif olarak, belirli değerleri kodlayan betiğin kopyalarını oluşturmak isteyebilirsiniz, böylece komutu çift tıklatıp uygulayabilir ve / veya kolayca başkalarına dağıtmanıza izin verebilir.
Senaryo
'Metni Değiştir
'Yazan: Jason Faulkner
'SysadminGeek.com
'Bu komut dosyası, sisteminizin PATH değişkeninde belirtilen bir klasöre yerleştirilmelidir.
'Kullanım (WScript):
'ReplaceText DosyaAdı OldText NewText [/ I]
'/ I (isteğe bağlı) - Metin eşleme büyük / küçük harf duyarlı değildir
Set oArgs = WScript.Arguments
intCaseSensitive = 0
İ = 3 ila oArgs.Count-1
Eğer UCase (oArgs (i)) = "/ I" Sonra intCaseSensitive = 1
Sonraki
Set oFSO = CreateObject ("Scripting.FileSystemObject")
OFSO.FileExists (oArgs (0)) Değilse Sonra
WScript.Echo "Belirtilen dosya mevcut değil."
Başka
Set oFile = oFSO.OpenTextFile (oArgs (0), 1)
strText = oFile.ReadAll
oFile.Close
strText = Değiştir (strText, oArgs (1), oArgs (2), 1, -1, intCaseSensitive)
Set oFile = oFSO.OpenTextFile (oArgs (0), 2)
oFile.WriteLine strText
oFile.Close
Bittiğinde
ek Notlar
Varsayılan olarak, Windows VBScript (VBS) dosyalarını yürütmek için WScript kullanır. Bunun neden olabileceği tek sorun herhangi bir hata ve / veya komut dosyasından gelen iletilerin açılır kutu olarak görünmesidir. Bir komut satırı aracı için bu mesajların konsolda gösterilmesi en iyisidir. Bunu başarabilmenin birkaç yolu var..
Bu komutu komut isteminden çalıştırarak (Yönetici haklarıyla): VBScript dosyalarının varsayılan işleyicisini CScript olarak değiştirin:
CScript // H: CScript
ReplaceText betiğini CScript komutunu kullanarak açıkça çalıştırın:
CScript “C: PathToReplaceText.vbs” // B DosyaAdı Eski Metin NewText [/ I]
Özel bir durum olarak, ReplaceText'i bir toplu komut dosyasından çalıştırmak, varsayılan işleyiciden bağımsız olarak kullanılan motor olarak CScript anlamına gelir. Bu fonksiyonelliğe güvenmeden önce mutlaka bunu test etmek isteyeceksiniz.
ReplaceText Script'i SysadminGeek.com adresinden indirin