Почетна » како да » Замените текст у обичне текстуалне датотеке из командне линије

    Замените текст у обичне текстуалне датотеке из командне линије

    Веома корисна функција која недостаје у Виндовс библиотеци алата командне линије је могућност замене текста у обичним текстуалним датотекама. Оваква функција може се користити за разне практичне задатке које многи системски администратори обављају, као што су:

    • Ажурирајте конфигурационе / ИНИ датотеке да бисте заменили УНЦ путање.
    • Масовне информације о ажурирању корисника које се чувају у ИНИ фајловима на терминал / цитрик серверу.
    • Користите заједно са скриптама да бисте увели 'темплатед' податке, а затим примените вредности на копиране датотеке.

    Наше решење је ВБСцрипт који се повезује са функцијом Висуал Басиц Реплаце. Постављањем ове скрипте на локацију у вашој Виндовс променљивој ПАТХ, сада имате на располагању ову функционалност.

    Користи

    Када сте на вашем систему, можете позвати скрипту једноставним коришћењем команде РеплацеТект. Неколико примјера илустрира начине на које можете користити ово:

    Замените реч „нулл“ са „н / а“ у датотеци Ц: ДатаВалуес.цсв:

    РеплацеТект “Ц: ДатаВалуес.цсв” нулл н / а

    Скенирајте све ИНИ датотеке у фасцикли Ц: Корисници (+ под директорије) замјењујући све појаве "Сервер = Олд" с "Сервер = Ново" помоћу претраживања без осјетљивости:

    ФОРФИЛЕС / П “Ц: Корисници” / М * .ини / С / Ц “Цмд / Ц РеплацеТект @патх Сервер = Стари сервер = Ново / И”

    Скенирајте све ЦФГ датотеке у профилу тренутног корисника замењујући "п @ ссв0рд" са "ПА $$ воРд" користећи претрагу која је осетљива на велика и мала слова:

    ФОРФИЛЕС / П “% УсерПрофиле%” / М * .цфг / С / Ц “Цмд / Ц РеплацеТект @патх п @ ссв0рд ПА $$ воРд”

    Као што можете видјети у наставку, скрипта је врло једноставна и лако се може модифицирати како би се прилагодила свим посебним ситуацијама које можда имате. Алтернативно, можда ћете желети да направите копије скрипте које хардцоде одређене вредности тако да можете извршити наредбу с двоструким кликом и / или омогућити вам да је лако дистрибуирате другима.

    Скрипта

    'Замијени текст
    Аутор: Јасон Фаулкнер
    'СисадминГеек.цом

    'Ова скрипта треба да се постави у фасциклу специфицирану у променљивој ПАТХ система.

    Употреба (ВСцрипт):
    'РеплацеТект ФилеНаме ОлдТект НевТект [/ И]

    '/ И (опционално) - Текстуално подударање није осјетљиво на велика и мала слова

    Поставите оАргс = ВСцрипт.Аргументс

    интЦасеСенситиве = 0
    За и = 3 до оАргс.Цоунт-1
    Ако је УЦасе (оАргс (и)) = "/ И" Затим интЦасеСенситиве = 1
    Следећи

    Постави оФСО = ЦреатеОбјецт ("Сцриптинг.ФилеСистемОбјецт")

    Ако није оФСО.ФилеЕкистс (оАргс (0)) Онда
    ВСцрипт.Ецхо "Наведена датотека не постоји."
    Елсе
    Постави оФиле = оФСО.ОпенТектФиле (оАргс (0), 1)
    стрТект = оФиле.РеадАлл
    оФиле.Цлосе

    стрТект = Замени (стрТект, оАргс (1), оАргс (2), 1, -1, интЦасеСенситиве)

    Постави оФиле = оФСО.ОпенТектФиле (оАргс (0), 2)
    оФиле.ВритеЛине стрТект
    оФиле.Цлосе
    Енд Иф

    Додатне напомене

    Виндовс подразумевано користи ВСцрипт за извршавање ВБСцрипт (ВБС) датотека. Једини проблем који ово може да изазове је да се све грешке и / или поруке из скрипте појаве као искачућа поља. За алат командне линије најбоље је да се те поруке приказују у конзоли. Постоји неколико начина на које можете постићи ово.

    Промените подразумевани управљач ВБСцрипт фајлова у ЦСцрипт тако што ћете покренути ову команду из командне линије (са администраторским правима):

    ЦСцрипт // Х: ЦСцрипт

    Покрените скрипту РеплацеТект експлицитно користећи ЦСцрипт наредбу:

    ЦСцрипт “Ц: ПатхТоРеплацеТект.вбс” // Б Назив датотеке ОлдТект НевТект [/ И]

    Као посебан случај, извршавање РеплацеТект-а из батцх скрипте обично подразумева ЦСцрипт као мотор који се користи без обзира на подразумевани управљач. Дефинитивно ћете желети да ово тестирате пре него што се ослоните на ову функционалност.

    Преузмите РеплацеТект Сцрипт са СисадминГеек.цом