If-Koubou

Korvaa tekstin tavallisiksi tekstitiedostoiksi komentoriviltä

Korvaa tekstin tavallisiksi tekstitiedostoiksi komentoriviltä (Miten)

Erittäin hyödyllinen toiminto, joka puuttuu komentorivin työkaluista Windows-kirjastosta, on kyky korvata teksti tavallisissa tekstitiedostoissa. Tällaista toimintoa voidaan käyttää useisiin käytännön tehtäviin, joita monet järjestelmän ylläpitäjät suorittavat, kuten:

  • Päivitä konfigurointi- / INI-tiedostot UNC-polkujen korvaamiseksi.
  • Massa-päivitys käyttäjän tietoja, jotka on tallennettu INI-tiedostoihin Terminal / Citrix-palvelimelle.
  • Käytä komentojonojen yhteydessä mallipohjaisten tietojen käyttöönottoa ja lisää sitten arvot kopioituihin tiedostoihin.

Ratkaisu on VBScript, joka on yhteydessä Visual Basic Replace -toimintoon. Kun tämä skripti sijoitetaan Windows PATH -muuttujasi sijaintiin, sinulla on nyt tämä toiminto käytettävissäsi.

käyttötarkoitukset

Kun järjestelmä käynnistyy, voit kutsua komentosarjan yksinkertaisesti käyttämällä ReplaceText-komentoa. Muutamia esimerkkejä havainnollistaa tapoja, joilla voit käyttää tätä:

Korvaa sana "null" C: DataValues.csv-tiedoston kohdalla "n / a":

KorvaaText "C: DataValues.csv" null n / a

Skannaa kaikki INI-tiedostot C: Käyttäjät (+ alihakemistot) -kansiossa, joka korvaa kaikki "Server = Old" -esimerkit ja "Palvelin = Uusi" tapahtumien avulla tapauskohtainen haku:

FORFILES / P "C: Käyttäjät" / M * .ini / S / C "Cmd / C ReplaceText @path Server = Vanha palvelin = Uusi / I"

Skannaa kaikki nykyisen käyttäjän profiilissa olevat CFG-tiedostot korvaamalla "p @ ssw0rd" ja "PA $$ woRd" käyttämällä tapauskohtaista herkkyyttä:

FORFILES / P "% UserProfile%" / M * .cfg / S / C "Cmd / C ReplaceText @polku p @ ssw0rd PA $$ woRd"

Kuten alla näet, käsikirjoitus on hyvin yksinkertainen ja sitä voidaan helposti muokata mahdollisten erityistilanteiden varalta. Vaihtoehtoisesti voit halutessasi luoda komentosarjan kopioita, jotka käsittelevät tiettyjä arvoja, jotta voit suorittaa komennon kaksoisnapsauttamalla ja / tai sallia sen jakamisen helposti muille.

Käsikirjoitus

'Korvaa teksti
"Kirjoittaja: Jason Faulkner
'SysadminGeek.com

"Tämä skripti tulee sijoittaa kansioon, joka on määritetty järjestelmän PATH-muuttujalle.

'Käyttö (WScript):
'ReplaceText FileName OldText NewText [/ I]

'/ I (valinnainen) - Tekstin yhteensopivuus ei ole erottuva

Aseta oArgs = WScript.Arguments

intCaseSensitive = 0
I = 3 - oArgs.Count-1
Jos UCase (oArgs (i)) = "/ I" Sitten intCaseSensitive = 1
Seuraava

Aseta oFSO = CreateObject ("Scripting.FileSystemObject")

Jos ei ole oFSO.FileExists (oArgs (0)) Sitten
WScript.Echo "Määritettyä tiedostoa ei ole olemassa."
muu
Aseta oFile = oFSO.OpenTextFile (oArgs (0), 1)
strText = oFile.ReadAll
oFile.Close

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

Aseta oFile = oFSO.OpenTextFile (oArgs (0), 2)
oFile.WriteLine strText
oFile.Close
Loppu Jos

Lisämerkinnät

Oletusarvoisesti Windows käyttää WScriptia VBScript (VBS) -tiedostojen suorittamiseen. Ainoa ongelma, jota tämä voi aiheuttaa, on virheistä ja / tai komentosarjasta tulevat viestit tulevat ponnahdusikkunoiksi. Komentorivityökalun kannalta on parasta, että nämä viestit näkyvät konsolissa. On olemassa muutamia tapoja, joilla voit saavuttaa tämän.

Muuta VBScript-tiedostojen oletuskäsittelijää CScript-ohjelmaan suorittamalla tämä komento komentokehotteesta (ylläpitäjäoikeuksilla):

CScript // H: CScript

Suorita ReplaceText-skripti nimenomaisesti CScript-komennolla:

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

Erikoistapauksena ReplaceText-komentojonojen suorittaminen komentosarjasta käsittelee tyypillisesti CScript-koodia moottorina, jota käytetään oletuskäsittelijästä riippumatta. Haluat varmasti kokeilla tätä ennen kuin luotat tähän toimintoon.

Lataa ReplaceText-skripti SysadminGeek.comista