Anasayfa » nasıl » Düz Metin Dosyalarındaki Komut Satırındaki Metni Değiştirme

    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