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:
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.
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.
'Korvaa teksti "Tämä skripti tulee sijoittaa kansioon, joka on määritetty järjestelmän PATH-muuttujalle. 'Käyttö (WScript): '/ I (valinnainen) - Tekstin yhteensopivuus ei ole erottuva Aseta oArgs = WScript.Arguments intCaseSensitive = 0 Aseta oFSO = CreateObject ("Scripting.FileSystemObject") Jos ei ole oFSO.FileExists (oArgs (0)) Sitten strText = Korvaa (strText, oArgs (1), oArgs (2), 1, -1, intCaseSensitive) Aseta oFile = oFSO.OpenTextFile (oArgs (0), 2)
"Kirjoittaja: Jason Faulkner
'SysadminGeek.com
'ReplaceText FileName OldText NewText [/ I]
I = 3 - oArgs.Count-1
Jos UCase (oArgs (i)) = "/ I" Sitten intCaseSensitive = 1
Seuraava
WScript.Echo "Määritettyä tiedostoa ei ole olemassa."
muu
Aseta oFile = oFSO.OpenTextFile (oArgs (0), 1)
strText = oFile.ReadAll
oFile.Close
oFile.WriteLine strText
oFile.Close
Loppu Jos
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