Väga kasulik funktsioon, mida käsurea tööriistadest Windowsi raamatukogust puuduvad, on võimalus asendada teksti tavaliste tekstifailidega. Sellist funktsiooni saab kasutada mitmesuguste praktiliste ülesannete jaoks, mida paljud süsteemi administraatorid täidavad, näiteks:
- UNC-tee muutmise seadistused / INI-failid.
-
Massi ajakohastamine kasutaja andmed, mis on salvestatud terminali / Citrix serveris INI failidesse.
- Kasutage koos skriptidega, et kasutada "template" andmeid ja seejärel rakendada kopeeritud failidele väärtusi.
Meie lahendus on VBScript, mis ühendab Visual Basic Replace funktsiooniga. Asetades selle skripti oma Windowsi PATHi muutuja asukohta, on teil nüüd see funktsioon saadaval teie käsutuses.
Kasutab
Kui olete oma süsteemis, võite skripti helistada, lihtsalt kasutades käsku ReplaceText. Mõned näited illustreerivad viise, kuidas seda kasutada.
Asenda sõna "null" faili C: DataValues.csv failiga "n / a":
ReplaceText “C:DataValues.csv” null n/a
Skaneerige kõik INI-failid kataloogis C: Users (+ sub directories), asendades kõik "Server = Old" esinemised ja "Server = New", kasutades registritunnettundlikku otsingut:
FORFILES /P “C:Users” /M *.ini /S /C “Cmd /C ReplaceText @path Server=Old Server=New /I”
Skaneeri kõik CFG-failid praeguses kasutaja profiilis, asendades "p @ ssw0rd" ja "PA $$ woRd", kasutades tõstutundlikke otsinguid:
FORFILES /P “%UserProfile%” /M *.cfg /S /C “Cmd /C ReplaceText @path p@ssw0rd PA$$woRd”
Nagu näete allpool, on skript väga lihtne ja seda saab kergesti muuta, et kohandada mis tahes erilisi olukordi. Teise võimalusena võite ka luua skripti koopiaid, mis kindlate väärtustega kindlalt kodeerivad, nii et saate topeltklõpsuga käsku käivitada ja / või lubate selle teistele lihtsalt levitada.
Skript
'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
lisamärkmed
Vaikimisi kasutab Windows VBScripti (VBS) failide käivitamiseks WScript-i. Ainus probleem, mille see võib põhjustada, on kõik skripti vead ja / või sõnumid hüpikkastidena. Käsurea tööriista puhul on parimad need sõnumid konsoolis kuvada. Selle saavutamiseks on paar võimalust.
VBScript-failide vaikekäitleja muutmine CScript-i, käivitades selle käsu käsurealt (koos administraatori õigustega):
CScript //H:CScript
Käivitage ReplaceText-skript selgesõnaliselt käsuga CScript:
CScript “C:PathToReplaceText.vbs” //B FileName OldText NewText [/I]
Erijuhtumina tähendab partitsioonskript ReplaceTexti käivitamine vaikimisi käitlejalt hoolimata CScript-d kui kasutatavat mootorit. Kindlasti tahate seda testida, kuigi enne selle funktsiooni kasutamist.
Laadige alla SysadminGeek.com ReplaceText Script