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
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
Verwandte Probleme
-
5
Wie wird eine Datei automatisch auf einen anderen PC im Netzwerk verschoben?
-
2
Festlegen mehrerer Umgebungsvariablen in einer Shell, die über ein Windows-Batch-Skript erstellt wir...
-
1
Anzeigen und Speichern von Windows Batch-Dateiausgaben
-
2
Gruppenrichtlinien für Windows setzen versteckte Dateien beim Start als unsichtbar
-
3
Ausführen der bat-Datei mit dem Windows-Scheduler
-
2
Kann ich Kommentare in ein SFTP-Batch-Dateiskript einfügen?
-
3
Windows Batch-Befehl zur Anzeige aller Netzwerkverbindungen?
-
23
Führen Sie eine Batchdatei vollständig versteckt aus
-
5
Wie kann ein einzelnes Zeichen in Windows-Dateinamen mithilfe einer Batchdatei ersetzt werden?
-
2
FTP-Skript überträgt keine Remote-Dateien auf den lokalen Computer