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, 6239 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Abfrage Vergleiche mit Variable goto (4)

Frage von Zunaras zum Thema Batch & Shell ...

Batch & Shell
gelöst Problem mit "username" abfrage in Batch Dateien (5)

Frage von KriAIT zum Thema Batch & Shell ...

Batch & Shell
Ungewöhnliche Txt.Datei-Abfrage mit Batch (3)

Frage von DaTobsn zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...