Zamenjajte besedilo v datoteki z navadnim besedilom iz ukazne vrstice
Zelo uporabna funkcija, ki je manjka v knjižnici Windows ukaznih vrstic, je zmožnost zamenjave besedila v navadnih besedilnih datotekah. Funkcija, kot je ta, se lahko uporablja za različne praktične naloge, ki jih opravlja veliko skrbnikov sistema, na primer:
- Posodobite konfiguracijske / INI datoteke in nadomestite poti UNC.
- Informacije o množičnem posodabljanju, shranjene v datotekah INI na strežniku Terminal / Citrix.
- Uporabite skupaj s skripti za razmestitev 'templated' podatkov in nato uporabite vrednosti za kopirane datoteke.
Naša rešitev je VBScript, ki je vmesnik s funkcijo Visual Basic Replace. Z namestitvijo te skripte na lokacijo v spremenljivki Windows PATH imate zdaj na voljo to funkcijo.
Uporabe
Ko ste na sistemu, lahko skript pokličete tako, da preprosto uporabite ukaz ReplaceText. Nekaj primerov bo ponazorilo, kako lahko to uporabite:
V datoteki C: DataValues.csv besedo »null« zamenjajte z »n / a«:
ReplaceText “C: DataValues.csv” null n / a
Preglejte vse INI datoteke v mapi C: Uporabniki (+ podmaiki) in zamenjajte vse pojavitve »Strežnik = Staro« s »Strežnik = Novo« z iskanjem, neobčutljivimi na velika
FORFILES / P “C: Uporabniki” / M * .ini / S / C “Cmd / C ReplaceText @path Server = Staro strežnik = Novo / I”
Skenirajte vse datoteke CFG v profilu trenutnega uporabnika in zamenjajte »p @ ssw0rd« z »PA $$ woRd« z uporabo preučevanja velikih in malih črk:
FORFILES / P “% UserProfile%” / M * .cfg / S / C “Cmd / C ReplaceText @path p @ ssw0rd PA $$ woRd”
Kot lahko vidite spodaj, je scenarij zelo preprost in ga je mogoče preprosto spremeniti, da se prilagodi morebitnim posebnim situacijam. Morda boste želeli ustvariti kopije skripta, ki določajo posebne vrednosti tako, da lahko ukaze izvedete z dvojnim klikom in / ali z omogočanjem preproste distribucije drugim.
Scenarij
»Zamenjaj besedilo
Avtor: Jason Faulkner
'SysadminGeek.com
Ta skript naj bo postavljen v mapo, ki je navedena v spremenljivki PATH vašega sistema.
"Uporaba (WScript):
'ReplaceText Ime datoteke OldText NewText [/ I]
'/ I (izbirno) - Ujemanje besedila ni občutljivo na velike in male črke
Nastavi oArgs = WScript.Arguments
intCaseSensitive = 0
Za i = 3 do oArgs.Count-1
Če je UCase (oArgs (i)) = "/ I" Potem intCaseSensitive = 1
Naslednji
Nastavi oFSO = CreateObject ("Scripting.FileSystemObject")
Če ni oFSO.FileExists (oArgs (0)) Nato
WScript.Echo "Navedena datoteka ne obstaja."
Drugače
Nastavi oFile = oFSO.OpenTextFile (oArgs (0), 1)
strText = oFile.ReadAll
Zapri
strText = Zamenjaj (strText, oArgs (1), oArgs (2), 1, -1, intCaseSensitive)
Nastavi oFile = oFSO.OpenTextFile (oArgs (0), 2)
oFile.WriteLine strText
Zapri
End If
Dodatne opombe
Windows privzeto uporablja WScript za izvajanje datotek VBScript (VBS). Edini problem, ki ga lahko povzroči, so napake in / ali sporočila iz skripta, ki se prikažejo kot pojavna okna. Za orodje ukazne vrstice je najbolje, da se ta sporočila prikažejo v konzoli. Obstaja nekaj načinov, kako to lahko dosežete.
Spremenite privzeti upravljalnik datotek VBScript v CScript s tem ukazom iz ukaznega poziva (s pravicami skrbnika):
CScript // H: CScript
Zaženite skript ReplaceText izrecno z ukazom CScript:
CScript “C: PathToReplaceText.vbs” // B Ime datoteke OldText NewText [/ I]
V posebnem primeru izvedba ReplaceTexta iz paketnega skripta običajno vključuje CScript kot motor, ki se uporablja, ne glede na privzeti upravljalnik. To boste zagotovo želeli preizkusiti, preden se boste zanašali na to funkcionalnost.
Prenesite skript ReplaceText iz SysadminGeek.com