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

überprüfung auf groß-kleinschreibung mit -find-

Frage Entwicklung Batch & Shell

Mitglied: 63425

63425 (Level 1)

29.03.2008, aktualisiert 30.03.2008, 7663 Aufrufe, 3 Kommentare

hallo.

meine erste frage in dem forum ist eigtl ziemlich einfach aber führt bei meiner batch zu problemen.

eine for - schleife soll daten aus einer datei lesen und in verschiedene strings teilen. soweit so gut.
sobald ich aber den letzten teil mit 'find' überprüfen möchte hat man das gefühl, cmd hängt sich fast dabei auf.

01.
for /f "delims=: tokens=1,2,*" %%i in ('findstr /v %tVar% "%pList%"') do ( 
02.
... 
03.
echo %%k | find "efault" 
04.
... 
05.
06.
 
es soll also nur geprüft werden, ob 'default' vorhanden ist und zwar egal ob groß oder klein.
wie kann ich das am elegantesten lösen, ohne noch extra zeilen einbauen zu müssen.

ich würde ja gerne auch auf eine if-abfrage zurück greifen:

01.
set sDef=efault 
02.
 
03.
if ( "%%k" equ "D%sDef%" || "%%k" equ "d%sDef%") 
04.
 
ich weiß, dass dass so nicht möglich ist, würde aber trotzdem gerne wissen, wie man das so ähnlich lösen könnte.

aensz
Mitglied: bastla
29.03.2008 um 19:05 Uhr
Hallo #aensz und willkommen im Forum!

Egal, ob Du "find" oder "findstr" verwendest, kannst Du mit dem Schalter "/i" die Unterscheidung zwischen Groß- und Kleinschreibung verhindern (siehe auch "findstr /?").

Grüße
bastla
Bitte warten ..
Mitglied: 63425
29.03.2008 um 19:30 Uhr
hi.

ok, das war ein denkfehler von mir. die option mit /i kannte ich natürlich vorher schon.
aber ich hatte gerade eine falsche vorstellung davon, wie meine eigene schleife in dem moment arbeitet.

was mich trotzdem interessiert, warum 'find' dermaßen langam arbeitet und wie genau man solche komplexen if-abfragen gestalten kann.

zum forum:
ich werde, denke ich, in nächster zeit öfter hier vorbei schauen.
ich hatte vorher schon einige beiträge gelesen und finde es sehr interessant.

tschau, aensz




mir ist gerade aufgefallen, dass es wohl doch kein denkfehler war.
%sDef% kommt in keiner zeile vor, dh 'for' soll alle zeilen anzeigen und zerlegen. das hätte ich wohl dazu sagen müssen. am ende kommt in %%k dann also was ungefiltertes rein und das wollte ich abfangen.
ich könnte die datei auch einfach nur auf groß/kleinschreibung ändern aber das wäre zu einfach.

aensz
Bitte warten ..
Mitglied: 63425
30.03.2008 um 01:45 Uhr
jetzt habe ich eine lösung gefunden. war natürlich wieder viel einfacher als gedacht und wurde eigentlich schon oft im forum kommentiert.

01.
echo %%k | find /i "%D%" >%tDatei% 
02.
set /p tVar=<%tDatei%
oder, etwas kürzer:

01.
echo %%k | find /i "%D%" >nul  && set tVar=%D%
aensz
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Datenbanken
Phpmyadmin export maximal 50kb groß (4)

Frage von Leo-le zum Thema Datenbanken ...

C und C++
gelöst Cmake "Could NOT find Boost" library unter Windows (2)

Frage von Aicher1998 zum Thema C und C ...

Notebook & Zubehör
Laptop schreibt groß weiter, obwohl Shift losgelassen wurde (6)

Frage von Yauhun zum Thema Notebook & Zubehör ...

Batch & Shell
gelöst Nonsense Error - find ihn nicht. (Batch) (7)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (17)

Frage von oel-auge zum Thema Router & Routing ...