使用批处理从句子中排除单词

时间:2016-04-16 12:44:15

标签: batch-file

我将以下提供的字符串分配给变量,并且需要使用批次代码取出最后一个字符串“:var6”(突出显示)。

警报提升日期:2016年4月12日下午2:10作业:2799377树类型:服务器树名称:所有主服务器节点:fmsnbu700作业策略:FMS7-FM7COREBGPB2NDMP退出状态:196(由于备份窗口未尝试客户端备份客户端:fm7corebgpb2ndmp新状态:完成警报策略:客户端作业完成StatusOpsCenter服务器:FMSOPSCENTER01注释**:var6 **

我用/ v选项尝试了findstr命令,但是它没有用。

当我试图找到解决方案时 - 你可以帮我解决这个问题。

-Abhi

1 个答案:

答案 0 :(得分: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"使用"评论:"比仅删除&#更安心? 34; 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%