Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch: Abfrage zwischen zwei Werten, aber wie?

Frage Entwicklung Batch & Shell

Mitglied: 45957

45957 (Level 1)

28.03.2007, aktualisiert 14:33 Uhr, 6254 Aufrufe, 4 Kommentare

Hallo,

ich habe ein Problem, unzwar möchte ich mit einer IF Abfrage prüfen ob die letzten 3 Zeichen des Computernamens, was sich hierbei um Ziffern handelt, zwischen zwei werten liegen.

Bspweise.:

Computername001
Computername002

und jetzt soll geprüft werden

IF %computername:~-3% ZWISCHEN 001 und 010 zum Beispiel

Wie ermögliche ich in einer Batch, das man so eine Abfrage machen kann.

Ich hoffe mein Problem ist verständlich.


gruß
dragst3r
Mitglied: bastla
28.03.2007 um 07:56 Uhr
Hallo dragst3r und willkommen im Forum!

Die Vorgangsweise sollte etwa so aussehen:
01.
if %computername:~-3% gtr 010 goto :DerNicht 
02.
if %computername:~-3% lss 001 goto :DerNicht 
03.
echo Den nehmen wir ... 
04.
... 
05.
... 
06.
goto :eof 
07.
:DerNicht 
08.
echo Den lassen wir weg ... 
09.
goto :eof
Für die Vergleichsoperatoren siehe Hilfe zu "if".

HTH
bastla
Bitte warten ..
Mitglied: 45957
28.03.2007 um 08:32 Uhr
vielen Dank für die Hilfe

ich hatte Probleme irgendeine Brauchbare Hilfe zu If zu finden
Bitte warten ..
Mitglied: Biber
28.03.2007 um 14:18 Uhr
Moin dragst3r,

auch von mir willkommen im Forum und noch ein paar Randbemerkungen.

Falls Du, wie es den Anschein hat, eine Art Gruppenzugehörigkeit aus den %computername%-Endziffern ableitest, solltest Du den Batch von Anfang an möglichst lesbar/pflegbar/wartbar halten.

Dazu noch zwei Tipps.
  • Speichere die Endziffern, die letzten drei Zeichen des Computernamens in einer Variablen. Mindert die Tippfehlerträchtigleit.
  • mache statt bastla's Negativ-Prüfung (wenn Kriterien nicht erfüllt, dann "goto :NixDa") eine Positiv-Prüfung mit "goto :groupX"
Ungetestete Skizze:
01.
:: ----snipp SkizzeLogonSkript.bat 
02.
@echo off & setlocal 
03.
set "LfdNr=%computername:~-3%" 
04.
if %LfdNr% GEQ 001 if %LfdNr% LEQ 010 goto :Group1 
05.
if %LfdNr% GEQ 011 if %LfdNr% LEQ 017 goto :Group2 
06.
... 
07.
REM wenn bis jetzt keine Bedingung erfüllt war, isset seltsam 
08.
Echo %date% %time% Nanu, kann %computername% keiner Gruppe zuordnen?? >>\\EuerServer\EinShare\ClientErrors.log 
09.
goto :eof 
10.
:group1 
11.
....bla 
12.
goto :eof 
13.
 
14.
:group2 
15.
....blubb 
16.
goto :eof
Noch eine Bitte:
Wenn die Frage aus Deiner Sicht beantwortet ist: Den Beiitrag kannst Du auf "gelöst/erledigt" setzen, indem Du dich anmeldest und dann auf den Eröffnungsbeitrag (also die Frage selbst) gehst.
Dort den Button "Editieren" drücken, dann kommen ein paar Kontrollkästchen. Unter anderem "Dieser Beitrag gilt als gelöst".
Der erzeugt den grünen Haken.

Und noch eine Insider-Information für Dich als Newbie im Forum:
Vermeide in Beiträgen zumindest in "Batch & Shell" solche modischen Sprechblasen wie "..., aber wie?"
Aus sicherer Quelle weiss ich, dass der Mod in diesem Bereich immer spitze Bemerkungen dazu macht.

Gruss
Biber
Bitte warten ..
Mitglied: 45957
28.03.2007 um 14:33 Uhr
Vielen Dank erstmal für den freundlichen Empfang.

@Biber:
Was du gesagt hast, hatte ich dann auch schon umgesetzt (Zeichen in einer Variablen und positive Prüfung)



Gruss
dragst3r
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch Abfrage Vergleiche mit Variable goto (4)

Frage von Zunaras zum Thema Batch & Shell ...

Batch & Shell
gelöst Mehrzeiligen Powershell-Befehl mit Batch ausführen (3)

Frage von 133202 zum Thema Batch & Shell ...

Batch & Shell
gelöst EQU - GLEICH - BATCH (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Windows Server
GPO - UAC: "Als Administrator ausführen" soll Abfrage bringen (4)

Frage von MissJones zum Thema Windows Server ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(40)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

DNS
gelöst Komplette TLD Überschreiben bzw eigene Definieren (10)

Frage von Herbrich19 zum Thema DNS ...

Exchange Server
gelöst RU 17 Exchange 2010 . Erfahrungen? (10)

Frage von keine-ahnung zum Thema Exchange Server ...

Datenbanken
gelöst MySQL Zeiterfassungs-Problematik (wer ist eingecheckt) (9)

Frage von NativeMode zum Thema Datenbanken ...