Pagrindinis » kaip » Pakeiskite tekstą paprastais tekstiniais failais iš komandų eilutės

    Pakeiskite tekstą paprastais tekstiniais failais iš komandų eilutės

    Labai naudinga funkcija, kurios trūksta „Windows“ komandų eilutės įrankių bibliotekoje, yra galimybė pakeisti tekstą paprastais tekstiniais failais. Tokia funkcija gali būti naudojama įvairioms praktinėms užduotims, kurias atlieka daugelis sistemos administratoriaus, pavyzdžiui:

    • Atnaujinkite konfigūracijos / INI failus, kad pakeistumėte UNC kelius.
    • Masinio atnaujinimo vartotojo informacija, saugoma INI rinkmenose terminalo / Citrix serveryje.
    • Naudokite kartu su scenarijais, kad dislokuotumėte „šabloninius“ duomenis ir tada nukopijuotiems failams taikytumėte reikšmes.

    Mūsų sprendimas yra VBScript, kuris sujungia funkciją „Visual Basic Replace“. Įdėję šį scenarijų į savo „Windows PATH“ kintamojo vietą, jūs dabar turite šią funkciją.

    Naudojimas

    Kai sistema bus įjungta, galite skambinti į scenarijų tiesiog naudodami komandą ReplaceText. Keletas pavyzdžių iliustruos, kaip galite tai naudoti:

    C: DataValues.csv faile pakeiskite žodį „null“ į „n / a“:

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

    Nuskaitykite visus INI failus aplanke C: Users (+ sub katalogai), pakeičiant visus „Server = Old“ įvykius su „Server = New“, naudodami nederamą nesėkmingą paiešką:

    FORFILAI / P „C: Vartotojai“ / M * .ini / S / C „Cmd / C ReplaceText @path Server = senas serveris = naujas / aš“

    Nuskaitykite visas CFG rinkmenas dabartiniame naudotojo profilyje, pakeisdami „p @ ssw0rd“ su „PA $ $ woRd“, naudojant jautrią paiešką:

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

    Kaip matote žemiau, scenarijus yra labai paprastas ir gali būti lengvai pakeistas, kad jis atitiktų bet kokias ypatingas situacijas. Taip pat galite sukurti scenarijaus kopijas, kurios koduoja tam tikras reikšmes, kad galėtumėte vykdyti komandą dvigubu paspaudimu ir / arba leisti lengvai platinti ją kitiems.

    Scenarijus

    „Pakeiskite tekstą
    „Parašė: Jason Faulkner
    „SysadminGeek.com

    „Šis scenarijus turėtų būti įdėtas į aplanką, nurodytą jūsų sistemos PATH kintamajame.

    „Naudojimas (WScript):
    „ReplaceText FileName OldText NewText [/ I]

    '/ I (neprivaloma) - teksto atitikimas nėra didžiosios ir mažosios raidės

    Nustatykite oArgs = WScript.Arguments

    intCaseSensitive = 0
    I = 3 - oArgs.Count-1
    Jei UCase (oArgs (i)) = "/ I" Tada intCaseSensitive = 1
    Kitas

    Nustatyti oFSO = CreateObject („Scripting.FileSystemObject“)

    Jei ne oFSO.FileExists (oArgs (0)) Tada
    „WScript.Echo“ „Nurodytas failas neegzistuoja“.
    Kitas
    Nustatykite oFile = oFSO.OpenTextFile (oArgs (0), 1)
    strText = oFile.ReadAll
    oFile.Close

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

    Nustatyti oFile = oFSO.OpenTextFile (oArgs (0), 2)
    oFile.WriteLine strText
    oFile.Close
    Baigti Jei

    papildomi užrašai

    Pagal numatytuosius nustatymus „Windows“ naudoja „WScript“ VBScript (VBS) failams vykdyti. Vienintelė problema, kurią gali sukelti, yra bet kokios klaidos ir (arba) pranešimai iš scenarijaus rodomi kaip iššokantys langai. Komandinės eilutės įrankiui geriausia, kad šie pranešimai būtų rodomi konsolėje. Yra keletas būdų, kaip tai padaryti.

    Pakeiskite numatytąjį „VBScript“ failų tvarkyklę į „CScript“, vykdydami šią komandą iš komandų eilutės (su administratoriaus teisėmis):

    CScript // H: CScript

    Vykdykite „ReplaceText“ scenarijų naudodami komandą „CScript“:

    „C: PathToReplaceText.vbs“ CS failas // B failo pavadinimas OldText NewText [/ I]

    Kaip ypatingas atvejis, vykdant „ReplaceText“ iš partijos scenarijaus, paprastai nurodoma, kad CScript yra naudojamas kaip variklis, nepriklausomai nuo numatytojo tvarkyklės. Jūs tikrai norėsite tai išbandyti, nors prieš pasikliaudami šia funkcija.

    Atsisiųskite „ReplaceText“ scenarijų iš „SysadminGeek.com“