2016-04-16 3 views
-2

У меня строка, указанная ниже, назначенная переменной, и вам нужно вынуть последнюю строку «: var6» (выделено) с использованием пакетных кодов.Исключить слово из предложения, используя партию

Alert Принято: 12 апреля 2016 г. 2:10 Работа: 2799377 Тип дерева: Дерево сервера Имя: ALL MASTER SERVERS Узлы: fmsnbu700 Политика занятости: FMS7-FM7COREBGPB2NDMP Статус выхода: 196 (резервная копия клиента не была предпринята, поскольку резервное копирование окно закрыто) Клиент: fm7corebgpb2ndmp Новое состояние: Выполнено Предупреждение Политика: Выполнение задания клиента StatusOpsCenter Server: FMSOPSCENTER01 Комментарий **: var6 **

Я пробовал команду findstr с опцией/v, но она не работает.

Как я пытаюсь найти решение - Можете ли вы, пожалуйста, помочь мне в этом.

-Abhi

+3

@Klaus: Он говорит о «текстовый файл, содержащий последовательность команд, которые выполняются с помощью командного интерпретатора в системах Microsoft Windows», как описание 'пакетного File' теге сказал. .. – Aacini

+1

Я упомянул в своем вопросе - «с использованием пакетных кодов». –

+0

@AbhinandanAithal Откройте окно командной строки, запустите 'set /?' И прочитайте выходную справку. Вы можете прочитать о строковых подстановках с примером '% PATH: ~ 0, -2%', который применяется для вашей задачи, будет «set» variable =% variable: ~ 0, -6% "', чтобы получить присвоение переменной текущее значение 'variable' без последних 6 символов. – Mofi

ответ

0

не ясно, если с «вынимают» вы имеете в виду «удалить» или «извлечь»

Чтобы экстракт, просто удалить с самого начала (в том числе) «Комментарий:» :

@echo off 
set "string=Alert Raised on: April 12, 2016 2:10 PM Job: 2799377 Tree Type : Server Tree Name : ALL MASTER SERVERS Nodes : fmsnbu700 Job Policy: FMS7-FM7COREBGPB2NDMP Exit Status: 196 (client backup was not attempted because backup window closed)Client: fm7corebgpb2ndmp New State: Done Alert Policy: Client Job Completion StatusOpsCenter Server: FMSOPSCENTER01 Comment: var6" 
set "var=%string:*Comment: =%" 
echo %var% 

Чтобы удалить, вы можете использовать приведенные выше данные (заменяющий «Комментарий: var6» с «Комментарий:» это заставка, чем просто удаление «var6», так как она может больше появляться где-то в ст кольцо)

@echo off 
setlocal enabledelayedexpansion 
set "string=Alert Raised on: April 12, 2016 2:10 PM Job: 2799377 Tree Type : Server Tree Name : ALL MASTER SERVERS Nodes : fmsnbu700 Job Policy: FMS7-FM7COREBGPB2NDMP Exit Status: 196 (client backup was not attempted because backup window closed)Client: fm7corebgpb2ndmp New State: Done Alert Policy: Client Job Completion StatusOpsCenter Server: FMSOPSCENTER01 Comment: var6" 
set "var=%string:*Comment: =%" 
set reststring=!string:Comment: %var%=Comment:! 
echo %string% 
echo ----------------- 
echo %var% 
echo ----------------- 
echo %reststring% 
+0

Вывести означает, что я хотел удалить строку var6. Таким образом, второй код, который вы предоставили, работал нормально. Благодаря @Stephan –

Смежные вопросы