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 externen string (.txt) in einem internen string (innerhalb der batch) finden

Frage Entwicklung Batch & Shell

Mitglied: OKIDOKI

OKIDOKI (Level 1) - Jetzt verbinden

15.01.2012 um 21:24 Uhr, 3642 Aufrufe, 6 Kommentare

Guten Abend,
in diesem Forum habe ich schon oft viele super Tipps gefunden. Auf meine Frage fand ich aber noch keinen Rat!

Ich möchte gerne einen string (in einer externen *.txt) mit einigen Begriffen vergleichen, die innerhalb der Batch-Datei stehen. Dafür soll keine extra-Datei erstellt werden, so wie ich es in meinem Beispiel habe, das im Übrigen aber auch nicht funktioniert ;-(
Wichtig ist für mich, dass beide Begriffe exakt übereinstimmen müssen. Es darf also nicht funktionieren, wenn z.B. ein Buchstabe oder eine Zahl weniger oder mehr drinsteht, dass er es dann trotzdem findet!


::suche.txt z.B.: uiop321
@echo off

ECHO 321asdf >words.txt
ECHO qwerqwe >>words.txt
...
set %a%=suche.txt
if %a% in words.txt ECHO YES|ECHO no

PAUSE




Ich würde mich über eure Hilfe sehr freuen!

OKIDOKI
Mitglied: bastla
15.01.2012 um 21:51 Uhr
Hallo OKIDOKI und willkommen im Forum!

So ganz klar ist mir Dein Vorhaben noch nicht, aber wenn in "suche.txt" nur ein einziger String steht, kannst Du diesen ja mit
set /p "String=<suche.txt"
in die Variable %String% bekommen und dann zB mit
if "%String%"=="321asdf" echo YES
vergleichen ...

Alternativ dazu könntest Du auch die einzelnen Suchbegriffe gegen die Datei "suche.txt" testen:
findstr /x "321asdf" "suche.txt">nul && echo YES
In beiden Fällen lässt sich das über eine Schleife auch für mehrere Suchbegriffe zusammenfassen - etwa:
01.
set "Gefunden=" 
02.
for %%i in (321asdf qwerqwe sonstnochwas) do findstr /x "%%i" "suche.txt">nul && set "Gefunden=True" 
03.
if defined Gefunden echo YES
Grüße
bastla
Bitte warten ..
Mitglied: OKIDOKI
16.01.2012 um 08:50 Uhr
Lieber bastla,

die Schleife ist ja super, genau das was ich brauche!!! Vielleicht noch eine Ergänzung, wenn es wichtig ist, wenn es keine Übereinstimmung gibt:

if defined Key echo Yes||echo no ?

PS: Kannst du mir sagen, wie viele Zeichen "in ( qwerqwe asd123 sonstnochwas)" der interne String enthalten darf?



Herzlichen Dank,
das Forum hält wirklich was es verspricht!
OKIDOKI
Bitte warten ..
Mitglied: bastla
16.01.2012 um 09:07 Uhr
Hallo OKIDOKI!
Kannst du mir sagen, wie viele Zeichen "in ( qwerqwe asd123 sonstnochwas)" der interne String enthalten darf?
http://support.microsoft.com/kb/830473/de
wenn es keine Übereinstimmung gibt:
if defined Key (echo Yes) else (echo no)
Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
16.01.2012 um 09:15 Uhr
Aloha,

Zitat von OKIDOKI:
in diesem Forum habe ich schon oft viele super Tipps gefunden.
Wahrscheinlich auch, wie unsere <code></code>-Formatierung funktioniert und dass
set %a% so oder so nicht funktionieren wird
Auf meine Frage fand ich aber noch keinen Rat!
Was ich mehr als bezweifeln möchte ... obwohl, es kommt ja kaum vor, dass jemand etwas bestimmtes (sogar aus einer anderen Textdatei) per Batch suchen bzw. finden will, hmm

Zu bastlas eben gepostetem Link möchte ich Hinweisen, dass dieser Wert nicht absolut ist und daher auch nicht immer seine Gültigkeit hat, gerade mit findstr sind die Suchlängen oftmals variierender als man glaubt, und nein, wir haben auch noch nicht herausgefunden, warum - aber schon so einige Phänomene hier hinter uns

Die Frage ist eben nicht nur: Wie viel wird gesucht? sondern auch In welcher Masse wird gesucht?

das Forum hält wirklich was es verspricht!
Ja, die User leider auch ...

greetz André
Bitte warten ..
Mitglied: OKIDOKI
16.01.2012 um 09:28 Uhr
Aloha,

tut mir leid, falls ich etwas falsch gemacht habe!
Die Frage nach der Masse ist natürlich richtig. Aber es sind oft die kleinen Hürden, die einen verzweifeln lassen
Meine bisherige Suche erstreckte sich über Tage...

Vielleicht gibt es irgendeine Möglichkeit, besser zu suchen?

Trotzdem, super vielen Dank an bastla.

OKIDOKI
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 10
Batch: Copy file.txt Lokaler Drucker (1)

Frage von fluluk zum Thema Windows 10 ...

Batch & Shell
gelöst Batch-Skript: Messdaten in Textdatei finden und in eine neue Datei schreiben (5)

Frage von habmalnefrage zum Thema Batch & Shell ...

Batch & Shell
Altebekanntes Batch umlaute Problem (txt editor) (2)

Frage von Ritrivia zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...