Asenda tekst tavalisest tekstifailist käsurealt

Sisukord:

Asenda tekst tavalisest tekstifailist käsurealt
Asenda tekst tavalisest tekstifailist käsurealt

Video: Asenda tekst tavalisest tekstifailist käsurealt

Video: Asenda tekst tavalisest tekstifailist käsurealt
Video: Arduino UNO and Mega Windows 7, 8, 10 USB driver Solved - YouTube 2024, Mai
Anonim

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

Soovitan: