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