Mājas lapa » » Nomainiet tekstu vienkāršos teksta failos no komandrindas

    Nomainiet tekstu vienkāršos teksta failos no komandrindas

    Ļoti noderīga funkcija, kas trūkst komandrindas rīku Windows bibliotēkā, ir spēja aizstāt tekstu teksta failos. Šādas funkcijas var izmantot dažādiem praktiskiem uzdevumiem, kurus veic daudzi sistēmas administratora uzdevumi, piemēram:

    • Atjauniniet konfigurācijas / INI failus, lai aizstātu UNC ceļus.
    • Masas atjaunināšanas lietotāja informācija, kas saglabāta INI failos Terminal / Citrix serverī.
    • Izmantojiet kopā ar skriptiem, lai izvietotu “šablonu” datus un pēc tam kopētos failos izmantotu vērtības.

    Mūsu risinājums ir VBScript, kas saskaras ar funkciju Visual Basic Replace. Ievietojot šo skriptu savā Windows PATH mainīgā vietā, jums tagad ir pieejama šī funkcija.

    Lietojumi

    Kad sistēma ir ieslēgta, jūs varat izsaukt skriptu, vienkārši izmantojot komandu ReplaceText. Daži piemēri parādīs, kā to izmantot:

    C: DataValues.csv failā aizvietojiet vārdu “null” ar “n / a”:

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

    Skenēt visus INI failus mapē C: Lietotāji (+ apakšgrupas), aizstājot visus “Server = Old” gadījumus ar “Server = New”, izmantojot gadījuma nejutīgu meklēšanu:

    FORFILES / P “C: Lietotāji” / M * .ini / S / C “Cmd / C ReplaceText @path Server = vecais serveris = jauns / I”

    Skenēt visus CFG failus pašreizējā lietotāja profilā, aizstājot “p @ ssw0rd” ar “PA $ $ woRd”, izmantojot reģistrjutīgu meklēšanu:

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

    Kā redzams zemāk, skripts ir ļoti vienkāršs, un to var viegli mainīt, lai tas atbilstu jebkurām īpašām situācijām. Alternatīvi, iespējams, vēlēsities izveidot skripta kopijas, kas kodē konkrētas vērtības, lai jūs varētu izpildīt komandu ar dubultklikšķi un / vai ļauj viegli izplatīt to citiem.

    Scenārijs

    'Aizstāt tekstu
    "Rakstīja: Jason Faulkner
    'SysadminGeek.com

    'Šis skripts jāievieto mapē, kas norādīta jūsu sistēmas PATH mainīgajā.

    "Lietošana (WScript):
    'ReplaceText FileName OldText NewText [/ I]

    '/ I (pēc izvēles) - teksta saskaņošana nav reģistrjutīga

    Iestatiet oArgs = WScript.Arguments

    intCaseSensitive = 0
    Par i = 3 uz oArgs.Count-1
    Ja UCase (oArgs (i)) = "/ I" Tad intCaseSensitive = 1
    Nākamais

    Iestatiet oFSO = CreateObject ("Skriptu.FileSystemObject")

    Ja nav oFSO.FileExists (oArgs (0)) Tad
    WScript.Echo "Noteiktais fails neeksistē."
    Vēl
    Iestatīt oFile = oFSO.OpenTextFile (oArgs (0), 1)
    strText = oFile.ReadAll
    oFile.Close

    strText = Aizstāt (strText, oArgs (1), oArgs (2), 1, -1, intCaseSensitive)

    Iestatīt oFile = oFSO.OpenTextFile (oArgs (0), 2)
    oFile.WriteLine strText
    oFile.Close
    Beigas Ja

    papildu piezīmes

    Pēc noklusējuma Windows izmanto WScript, lai izpildītu VBScript (VBS) failus. Vienīgā problēma, kas var izraisīt, ir kļūdas un / vai ziņojumi no skripta parādīsies kā uznirstošie lodziņi. Par komandrindas rīku vislabāk šie ziņojumi tiek rādīti konsolē. Ir daži veidi, kā to paveikt.

    Mainiet noklusējuma VBScript failu apstrādātāju uz CScript, palaižot šo komandu no komandrindas (ar administratora tiesībām):

    CScript // H: CScript

    Palaidiet ReplaceText skriptu tieši, izmantojot komandu CScript:

    CScript “C: PathToReplaceText.vbs” // B Faila nosaukums OldText NewText [/ I]

    Kā īpašs gadījums, veicot ReplaceText no partijas skripta, parasti tiek izmantots CScript kā dzinējs, neatkarīgi no noklusējuma apstrādes. Jūs noteikti gribēsiet to pārbaudīt, lai gan pirms šīs funkcijas izmantojat.

    Lejupielādējiet ReplaceText Script no SysadminGeek.com