Korvaa tekstin tavallisiksi tekstitiedostoiksi komentoriviltä

Sisällysluettelo:

Korvaa tekstin tavallisiksi tekstitiedostoiksi komentoriviltä
Korvaa tekstin tavallisiksi tekstitiedostoiksi komentoriviltä

Video: Korvaa tekstin tavallisiksi tekstitiedostoiksi komentoriviltä

Video: Korvaa tekstin tavallisiksi tekstitiedostoiksi komentoriviltä
Video: Comparing Windows 11 vs Windows Server 2022 - YouTube 2024, Saattaa
Anonim

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":

ReplaceText “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:Users” /M *.ini /S /C “Cmd /C ReplaceText @path Server=Old Server=New /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 @path 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

'Replace Text 'Written by: Jason Faulkner 'SysadminGeek.com

'This script should be placed in a folder specified in your system's PATH variable.

'Usage (WScript): 'ReplaceText FileName OldText NewText [/I]

' /I (optional) - Text matching is not case sensitive

Set oArgs = WScript.Arguments

intCaseSensitive = 0 For i = 3 to oArgs.Count-1 If UCase(oArgs(i)) = '/I' Then intCaseSensitive = 1 Next

Set oFSO = CreateObject('Scripting.FileSystemObject')

If Not oFSO.FileExists(oArgs(0)) Then WScript.Echo 'Specified file does not exist.' Else Set oFile = oFSO.OpenTextFile(oArgs(0), 1) strText = oFile.ReadAll oFile.Close

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

Set oFile = oFSO.OpenTextFile(oArgs(0), 2) oFile.WriteLine strText oFile.Close End If

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 FileName 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

Suositeltava: