2016-04-16 17 views
-2

ausschließen Ich habe die unten angegebene Zeichenfolge einer Variablen zugewiesen und muss die letzte Zeichenfolge ": var6" (markiert) mithilfe von Stapelcodes herausnehmen.Ein Wort aus einem Satz mit Batch

Alarm ausgelöst am: 12.04.2016 14:10 Uhr Job: 2799377 Baumtyp: Serverbaumname: ALLE MASTERSERVER Knoten: fmsnbu700 Jobrichtlinie: FMS7-FM7COREBGPB2NDMP Exit Status: 196 (Clientsicherung wurde nicht versucht, da Sicherung Fenster geschlossen) Client: fm7corebgpb2ndmp Neuer Status: Fertig Warnmeldung: Client Job Completion StatusOpsCenter Server: FMSOPSCENTER01 Kommentar **: var6 **

Ich habe versucht, findstr Befehl mit/v Option, aber es funktioniert nicht.

Wie ich versuche, eine Lösung zu finden - können Sie mir bitte dabei helfen.

-Abhi

+3

@Klaus: Er spricht von einer „Textdatei eine Reihe von Befehlen, die von dem Befehlsinterpreter auf Microsoft Windows-Systemen ausgeführt werden“, so, wie die Beschreibung des 'Batch-file'-Tages. .. – Aacini

+1

Ich habe in meiner Frage erwähnt - "mit Batch-Codes.". –

+0

@AbhinandanAithal Öffnen Sie ein Eingabeaufforderungsfenster, führen Sie 'set /?' Aus und lesen Sie die Ausgabehilfe. Sie können lesen über String-Substitutionen mit Beispiel '% PATH: ~ 0, -2%', die für Ihre Aufgabe galt wäre 'set 'Variable =% Variable: ~ 0, -6%" 'zu' Variable' zugewiesen werden die aktueller Wert von 'variable' ohne die letzten 6 Zeichen. – Mofi

Antwort

0

nicht klar, ob mit "take out" Sie bedeuten, "Löschen" oder "Extrakt"

Um Extrakt, löschen Sie einfach von Anfang bis (einschließlich) "Kommentar:" :

@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% 

Um löschen es, können Sie die oben genannten Informationen nutzen können (als Ersatz für „Kommentar: var6“ mit „Kommentar:“ ist Schoner als nur „var6“ löschen, da es irgendwo sonst auf der st occure könnte Ring)

@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

Take out bedeutet, ich wollte die Zeichenfolge var6 löschen. Der von Ihnen bereitgestellte zweite Code hat also gut funktioniert. Danke @Stephan –

Verwandte Themen