Pakeiskite tekstą paprastais tekstiniais failais iš komandinės eilutės

Turinys:

Pakeiskite tekstą paprastais tekstiniais failais iš komandinės eilutės
Pakeiskite tekstą paprastais tekstiniais failais iš komandinės eilutės

Video: Pakeiskite tekstą paprastais tekstiniais failais iš komandinės eilutės

Video: Pakeiskite tekstą paprastais tekstiniais failais iš komandinės eilutės
Video: REMOVE TRAY ICONS FROM TASKBAR | WINDOWS 10 TIPS & TRICKS - YouTube 2024, Gegužė
Anonim

Labai naudinga funkcija, kuri trūksta iš Windows komandų eilutės įrankių bibliotekos, yra galimybė tekstą pakeisti tekstiniais failais. Tokia funkcija gali būti naudojama daugeliui praktinių užduočių, kurias atlieka daug sistemos administratorių, pavyzdžiui:

  • Atnaujinti konfigūracijos / INI failus pakeisti UNC kelius.
  • Masinės atnaujinimo vartotojo informacija, saugoma INI failuose terminalo / "Citrix" serveryje.

  • Naudokite kartu su scenarijais, kad įdiegtumėte "šabloninius" duomenis, o tada nukopijuotų failų vertes.

Mūsų sprendimas yra VBScript, kuris sąveikauja su funkcija "Visual Basic Replace". Įdėdami šį scenarijų į jūsų "Windows PATH" kintamojo vietą, dabar ši funkcija jums prieinama.

Naudoja

Kai jūsų sistemoje galite skambinti scenarijų, paprasčiausiai naudokite komandą "ReplaceText". Keli pavyzdžiai parodys būdus, kaip galite tai panaudoti:

Pakeiskite žodį "null" į "n / a" failo C: DataValues.csv:

ReplaceText “C:DataValues.csv” null n/a

Patikrinkite visus INI failus aplanke C: Users (+ sub directories), pakeičiančius visus "Server = Old" įvykius su "Server = New", naudodami neatsitiktinę paiešką:

FORFILES /P “C:Users” /M *.ini /S /C “Cmd /C ReplaceText @path Server=Old Server=New /I”

Nuskaitykite visus CFG failus dabartiniame vartotojo profilyje, pakeičiant "p @ ssw0rd" į "PA $$ woRd", naudodami kontekstinę paiešką:

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

Kaip matote toliau, scenarijus yra labai paprastas ir gali būti lengvai pakeistas, kad būtų pritaikytos bet kokios ypatingos situacijos, kurioms esate. Be to, galbūt norėsite kurti scenarijaus kopijas, kurios kietai nuskaito tam tikras vertes, kad galėtumėte paleisti komandą dvigubu paspaudimu ir (arba) leisti lengvai ją platinti kitiems.

Scenarijus

'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

papildomi užrašai

Pagal numatytuosius nustatymus "Windows" naudoja "WScript", norėdami paleisti "VBScript" (VBS) failus. Vienintelė problema, kurią gali sukelti, yra bet kokios scenarijaus klaidos ir (arba) pranešimai, rodomi kaip langeliai. Komandinės eilutės įrankiui geriausia, kad šie pranešimai būtų rodomi konsolėje. Yra keletas būdų, kaip tai padaryti.

Pakeiskite numatytąjį VBScript failų tvarkyklę į CScript, paleisdami šią komandą iš komandų eilutės (su administratoriaus teisėmis):

CScript //H:CScript

Iš karto paleiskite "ReplaceText" scenarijų naudodami komandą CScript:

CScript “C:PathToReplaceText.vbs” //B FileName OldText NewText [/I]

Kaip ypatingas atvejis, vykdant "ReplaceText" iš partijos scenarijų, CScript paprastai naudojamas kaip variklis, naudojamas nepriklausomai nuo numatytojo apdorojimo. Neabejotinai norėsite išbandyti tai, prieš pasikliauję šia funkcija.

Atsisiųskite "ReplaceText" scenarijų iš "SysadminGeek.com"

Rekomenduojamas: