Wenn eine Zeichenfolge im Computernamen vorhanden ist, sollte die Bedingung auf true gesetzt werden

419
David Greenway

Ich versuche zu überprüfen, ob ein Computername BKUP, NAS, PLAYER oder BACKUP in irgendeinem Teil seines Namens durch ein Batch-Skript enthält. Wenn die Bedingung erfüllt ist, führe ich einen zusätzlichen Befehl aus, um eine Netzwerkfreigabe auf diesem Computer zu erstellen.

Dies ist meine Batchdatei:

echo off setlocal EnableDelayedExpansion  REM skip lines 1 read lines 2 in PRORGRAMS OUTPUT @For /F "skip=1 tokens=1" %%u IN ('WMIC computersystem get name^) do ( SET "TRUE=" IF x%%u BKUP TRUE=1 IF x%%u NAS TRUE=1 IF x%%u PLAYER TRUE-1 IF x%%u BACKUP TRUE=1 
2
Ich frage nach der richtigen Methode für das Scripting. David Greenway vor 5 Jahren 0
Der einfachste Weg ist wahrscheinlich WENN NICHT "% COMPUTERNAME%" == "% COMPUTERNAME: BKUP =%" SET TRUE = 1 "usw. Sie müssen die` FOR`-Schleife nicht verwenden, da Sie dies nicht tun brauche "WMIC". Schauen Sie sich [this] an (https://ss64.com/nt/syntax-replace.html). Worthwelle vor 5 Jahren 0

0 Antworten auf die Frage