If-Koubou

Nomainiet tekstu teksta failos, izmantojot komandrindu

Nomainiet tekstu teksta failos, izmantojot komandrindu (Kā)

Ļoti noderīga funkcija, kas trūkst no komandrindas rīku Windows bibliotēkas, ir iespēja aizstāt tekstu ar teksta failiem. Šādu funkciju var izmantot dažādiem praktiskiem uzdevumiem, ko daudzi sistēmas administratori veic, piemēram:

  • Atjauniniet konfigurācijas / INI failus, lai aizstātu UNC ceļus.
  • Masveida atjaunināšanas lietotāja informācija, kas tiek glabāta INI failos Terminal / Citrix serverī.
  • Izmantojiet kopā ar skriptiem, lai izvietotu "šablonētos" datus, un pēc tam jāpielieto vērtības kopētām failiem.

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

Izmanto

Tiklīdz savā sistēmā jūs varat izsaukt skriptu, vienkārši izmantojiet komandu ReplaceText. Daži piemēri ilustrēs veidus, kā to izmantot:

Nomainiet vārdu "null" ar "n / a" C: DataValues.csv failā:

ReplaceText "C: DataValues.csv" nav n / a

Pārbaudiet visus INI failus mapē C: Users (+ sub directories), aizstājot visus notikumus "Server = Old" ar "Server = New", izmantojot nevērīgu meklēšanu:

FORFILES / P "C: Lietotāji" / M * .ini / S / C "Cmd / C ReplaceText @path Server = Vecais serveris = Jauns / I"

Pārbaudiet visus CFG failus pašreizējā lietotāja profilā, aizstājot "p @ ssw0rd" ar "PA $$ woRd", izmantojot meklēšanu ar atslēgvārdu:

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

Kā jūs varat redzēt zemāk, skripts ir ļoti vienkāršs un to var vienkārši mainīt, lai pielāgotos iespējamām īpašām situācijām. Tāpat jūs varat izveidot tādas skripta kopijas, kas apgrūtina konkrētas vērtības, lai jūs varētu izpildīt komandu ar dubultklikšķi un / vai ļaujat to viegli izplatīt citiem.

Scenārijs

"Aizstāt tekstu
'Raksta: Jason Fulkners
'SysadminGeek.com

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

"Izmantošana (WScript):
'ReplaceText faila nosaukums OldText NewText [/ I]

'/ I (pēc izvēles) - Teksta pielāgošana nav reģistrjutīga

Iestatīt oArgs = WScript.Arguments

intCaseSensitive = 0
Par i = 3 līdz oArgs.Count-1
Ja UCase (oArgs (i)) = "/ I", tad intCaseSensitive = 1
Nākamais

Iestatīt oFSO = CreateObject ("Scripting.FileSystemObject")

Ja nav oFSO.FileExists (oArgs (0)) Tad
WScript.Echo "Noteiktais fails nepastāv."
Cits
Iestatiet 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, ko tas var izraisīt, ir visas kļūdas un / vai ziņojumi no skripta parādīsies kā uznirstošās kastes. Komandrindas rīka labad šie ziņojumi ir redzami konsolē. Pastāv vairāki veidi, kā to izdarīt.

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

CScript // H: CScript

Palaidiet ReplaceText skriptu, skaidri izmantojot komandu CScript:

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

Kā īpašs gadījums, ReplaceText izpildīšana no partijas skripta parasti nozīmē CScript kā izmantoto dzinēju neatkarīgi no noklusējuma apstrādes. Jūs noteikti vēlaties to izmēģināt, lai gan pirms šīs funkcijas izmantošanas.

Lejupielādējiet ReplaceText skriptu no SysadminGeek.com