Top-Themen

Aktuelle Themen (A bis Z)

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

Frage Entwicklung Batch & Shell

Batch Zeichen Begrenzung umgehen

Mitglied: OKIDOKI

OKIDOKI (Level 1) - Jetzt verbinden

25.01.2012 um 11:58 Uhr, 2995 Aufrufe, 8 Kommentare

Guten Morgen,
bastla hat mir schon mit seinem Code geholfen (http://www.administrator.de/index.php?content=178956#727993). Allerdings habe ich noch eine Zusatzfrage, die ich jetzt als zusätzlen Thread eröffne, in der Hoffnung, dass das so ok ist!

> Zitat von bastla:
> Eine Suchschleife lässt sich 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 
03.
> > "Gefunden=True" 
04.
> > if defined Gefunden echo YES 
05.
> > 
Guten Tag,

zum (super) Code von bastla möchte ich gerne noch wissen, sie sich die Schleife um weitere Suchbegriffe (außerhalb der
Begrenzung ca. 2000/8000 Zeichen "MS: Befehlszeile maximal 2.047 bzw. 8.191 Zeichen") erweitern läßt?
Im Sinne von, wie eine zweite und dritte Schleife eingefügt werden kann...

OKIDOKI

Mitglied: bastla
25.01.2012 um 15:03 Uhr
Hallo OKIDOKI!

Du kannst ja nacheinander so viele Zeilen der Art
for %%i in (321asdf qwerqwe sonstnochwas) do findstr /x "%%i" "suche.txt">nul && set "Gefunden=True"
wie nötig schreiben - es wird ja nur, wenn ein Suchwort gefunden wurde, der Schalter %Gefunden% gesetzt ...

Grüße
bastla
Bitte warten ..
Mitglied: pieh-ejdsch
25.01.2012 um 15:21 Uhr
Moin bastla und OKIDOKI,

Was spricht denn dagegen, am Ende deines Codes ein goto :EOF einzufügen.
Danach kommen Zeile für Zeile deine ganzen Suchbegriffe in den Batch hinein.
Somit hast Du auf keinen Fall eine extra Textdatei.
Deine Suchzeile schreibst du dann etwas um:
01.
for /f "delims=:" %%i in ('findstr /n /i /x /c:"goto :eof" "%~f0"') do set /a Skip =%%i 
02.
chcp 1252 >nul 
03.
for /f "skip=%skip% usebackq delims=" %%i in ("%~f0") do findstr /x "%%i" "suche.txt">nul && set "Gefunden=True" 
04.
chcp 850 >nul
[Edit]
Ein Temporäre Vergeichsdatei zu erstellen wäre etwas Performanter und sicherer.
codepagewechsel eingefügt
[Edit]

Gruß Phil
Bitte warten ..
Mitglied: OKIDOKI
25.01.2012 um 15:24 Uhr
Hallo bastla,

das ist ja simple ...
Nach jeder Schleife würde ich dann vermutlich die Abfrage nach True machen und die Schleife erneut setzen, oder? Gibt es sonst eine "Gesamtabfrage" für bsp. 3 Schleifen?

Vielen Dank!
OKIDOKI
Bitte warten ..
Mitglied: OKIDOKI
25.01.2012 um 15:29 Uhr
Moin Phil,
das übersteigt mein Verständnis
Wohin sollen denn die Suchbegriffe? Und können die, wenn ich wüßte wie, auch in eine (mehrere) Zeile(n) geschrieben werden?

Gruß OKIDOKI
Bitte warten ..
Mitglied: pieh-ejdsch
25.01.2012 um 15:42 Uhr
Dein Batch sieht nur als Beispiel jetzt so aus:
01.
@echo off&setlocal 
02.
set "Gefunden=" 
03.
for /f "delims=:" %%i in ('findstr /n /i /x /c:"goto :eof" "%~f0"') do set /a Skip =%%i 
04.
chcp 1252 >nul 
05.
for /f "skip=%skip% usebackq delims=" %%i in ("%~f0") do findstr /x "%%i" "suche.txt">nul && set "Gefunden=True" 
06.
chcp 850 >nul 
07.
if defined gefunden echo Yes 
08.
 
09.
rem hier ist noch viel mehr BatchNutzCode 
10.
 
11.
echo Ende der Batch nächste Zeile 
12.
goto :eof
Deine Suchbegriffe kommen Einzeln je Weitere Zeile unter das letzte goto :eof.

zur Erklärung:
Die erste For setzt die Zeilennummer des zuletzt gefundenen "goto :eof" als Skip.
Die zweite Forschleife gibt Dir alle Folgenden Zeilen der Batch nacheinander an Findstr aus (ohne Begrenzung).

Gruß Phil
Bitte warten ..
Mitglied: bastla
25.01.2012 um 17:23 Uhr
Hallo OKIDOKI!
Nach jeder Schleife würde ich dann vermutlich die Abfrage nach True machen und die Schleife erneut setzen, oder?
Das würde den Ablauf beschleunigen - Du kannst das aber auch nur ein einziges Mal nach allen Schleifen durchführen, da wie gesagt, der Schalter vorweg "ausgeschaltet" und beim ersten (und jedem weiteren) Fund "eingeschaltet" wird (und danach auch bleibt) - insofern wäre das eine "Gesamtabfrage" (oder was meintest Du damit?)

Grüße
bastla
Bitte warten ..
Mitglied: bastla
25.01.2012 um 17:31 Uhr
Hallo PH!

Ich habe Derartiges (in Anlehnung an das "Urzeit-Basic-DATA" auch schon so umgesetzt:
01.
@echo off & setlocal 
02.
::DATA#Suchbegriff1 Suchbegriff2 Suchbegriff3 
03.
::DATA#Suchbegriff4 Suchbegriff5 Suchbegriff6 
04.
 
05.
set "Gefunden=" 
06.
for /f "tokens=1* delims=#" %%a in ('findstr /b "::DATA#" "%~0"') do for %%i in (%%b) do findstr /x "%%i" "suche.txt">nul && set "Gefunden=True" 
07.
if defined Gefunden echo Yes
Die DATA-Zeilen können dabei an beliebiger Stelle im Batch stehen ...

Grüße
bastla
Bitte warten ..
Mitglied: OKIDOKI
25.01.2012 um 17:32 Uhr
Hallo bastla,

genau das meine ich!

Totzdem auch Phil danke für seinen Beitrag!!! Das Problem was ich hatte war, möglichst viele Suchwörter unterzubringen. Irgendwie hat der Code nicht funktioniert. Es gab nur die Dosbox (blieb schwarz) und auch PAUSE am Ende brachte kein Ergebnis ;-(

Vielen Dank!
OKIDOKI
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Einfügen von Zeichen mit Batch bzw. Powershell
gelöst Frage von adm2015Batch & Shell5 Kommentare

Hallo zusammen, ich hab ein kleines Problem und müsste dies irgendwie mit einem Script lösen, da ich keine 500 ...

Batch & Shell
Tilde Zeichen per Batch ersetzen
gelöst Frage von Blackhawk386Batch & Shell6 Kommentare

Hi! Ich habe eine Datei in Textform, in der Umlaute per Batch umgewandelt werden müssen. Dazu habe ich hier ...

Batch & Shell
Via Batch Zeichen in Textzeilen einfügen
gelöst Frage von LuceDeCielloBatch & Shell3 Kommentare

Hallo, ich habe die Lösung für mein Problem schon fast gefunden. Leider verstehe ich die Positionsangaben in dem Skript ...

Batch & Shell
(Batch) festgelegte Zeichen vor und nach Text einfügen
gelöst Frage von unauthorized-userBatch & Shell2 Kommentare

Hallo Community, ich stehe gerade vor einem (wahrscheinlich sehr banalem) Problem und benötige eure Hilfe. Ausgangssituation: Ich habe mehrere ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit15 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...

Windows Netzwerk
Zugriff auf den Desktop Ordner eines anderen Rechners in der gleichen Domäne
gelöst Frage von JensNomaWindows Netzwerk6 Kommentare

Guten Abend, ich war neulich mit unserem Admin am Tisch gesessen. Er an seinem Notebook angemeldet mit dem Domänen-Admin, ...