Cserélje ki a szöveget egyszerű szöveges fájlokban a parancssorból
Egy nagyon hasznos funkció, amely hiányzik a parancssori eszközök Windows könyvtárából, az a képesség, hogy a szöveget egyszerű szöveges fájlokban helyettesítheti. Ilyen funkció használható számos gyakorlati feladathoz, amelyeket sok rendszergazda végez, például:
- Frissítse a konfigurációs / INI fájlokat az UNC útvonalak cseréjéhez.
- A terminál / Citrix kiszolgáló INI fájljaiban tárolt tömegfrissítési felhasználói információk.
- A szkriptekkel együtt használhatja a „sablonos” adatokat, majd az értékeket a másolt fájlokra.
Megoldásunk egy VBScript, amely összekapcsolódik a Visual Basic Replace funkcióval. Ha ezt a szkriptet egy Windows PATH változó helyére helyezi, akkor ezt a funkciót elérhetővé teszi.
felhasználások
Miután elindult a rendszeren, a ReplaceText paranccsal egyszerűen felhívhatja a parancsfájlt. Néhány példa bemutatja, hogyan használhatja ezt:
A C: DataValues.csv fájlban a „null” szót a „n / a” szóval cserélje ki:
ReplaceText “C: DataValues.csv” null n / a
Az összes INI fájl beolvasása a C: Felhasználók (+ alkönyvtárak) mappájában a „Szerver = régi” összes előfordulásának helyettesítése esetén a „Szerver = Új” esetén egy esetérzékeny keresés használatával:
FORFILES / P “C: Felhasználók” / M * .ini / S / C „Cmd / C ReplaceText @path Server = Régi kiszolgáló = Új / I”
Az aktuális felhasználó profiljában található összes CFG-fájlt a „p @ ssw0rd” helyett „PA $ $ woRd” -vel helyettesítse az esetérzékeny keresés segítségével:
FORFILES / P „% UserProfile%” / M * .cfg / S / C „Cmd / C ReplaceText @ útvonal p @ ssw0rd PA $ $ woRd”
Amint az alábbiakban láthatod, a szkript nagyon egyszerű, és könnyen módosítható, hogy megfeleljen az esetleges különleges helyzeteknek. Alternatívaként előfordulhat, hogy a parancsfájl másolatait is létrehozhatja, amelyek bizonyos értékeket kódolnak, így a parancsot duplán kattintva végrehajthatja és / vagy lehetővé teszi, hogy könnyen terjeszthesse másoknak.
A script
'Cserélje ki a szöveget
- Írta: Jason Faulkner
„SysadminGeek.com
'Ezt a szkriptet a rendszer PATH változójában megadott mappába kell helyezni.
"Használat (WScript):
'ReplaceText FileName OldText NewText [/ I]
'/ I (opcionális) - A szövegmegfelelés nem érzékeny az érzékekre
Állítsa be az oArgs = WScript.Arguments parancsot
intCaseSensitive = 0
Az i = 3 értéknél az oArgs.Count-1 értékre
Ha UCase (oArgs (i)) = "/ I" Ezután intCaseSensitive = 1
Következő
OFSO = CreateObject beállítása ("Scripting.FileSystemObject")
Ha nem oFSO.FileExists (oArgs (0)) Ezután
WScript.Echo "A megadott fájl nem létezik."
Más
OFile = oFSO.OpenTextFile beállítása (oArgs (0), 1)
strText = oFile.ReadAll
oFile.Close
strText = Csere (strText, oArgs (1), oArgs (2), 1, -1, intCaseSensitive)
OFile = oFSO.OpenTextFile beállítása (oArgs (0), 2)
oFile.WriteLine strText
oFile.Close
Vége Ha
További megjegyzések
Alapértelmezés szerint a Windows WScript-t használ a VBScript (VBS) fájlok végrehajtásához. Ez az egyetlen probléma, ami a hibákat és / vagy üzeneteket jelentheti a parancsfájlból, mint előugró ablak. Parancssori eszköz esetében a legjobb, ha ezek az üzenetek a konzolban jelennek meg. Van néhány módja annak, hogy ezt elérje.
Módosítsa a VBScript-fájlok alapértelmezett kezelőjét a CScript-be, ha a parancsot parancssorból futtatja (rendszergazdai jogokkal):
CScript // H: CScript
Futtassa a ReplaceText parancsfájlt kifejezetten a CScript parancs használatával:
„C: PathToReplaceText.vbs” parancsfájl // B fájlnév OldText NewText [/ I]
Különleges esetben a ReplaceText végrehajtása egy kötegelt parancsfájlból általában a CScript-et jelenti, mint az alapértelmezett kezelőtől függetlenül használt motort. Mindenképpen meg akarod próbálni ezt a funkciót megelőzően.
Töltse le a ReplaceText Script-et a SysadminGeek.com webhelyről