Homepage » hogyan kell » Cserélje ki a szöveget egyszerű szöveges fájlokban a parancssorból

    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