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

per Batch in eine Datei nach einem bestimmten Begriff inkl der Sonderzeichen ist kleiner als und ist größer als suchen - wie geht das?

Frage Entwicklung Batch & Shell

Mitglied: blacksun

blacksun (Level 1) - Jetzt verbinden

01.09.2008, aktualisiert 16:32 Uhr, 4186 Aufrufe, 10 Kommentare

Hallo,

ich habe eine Datei file.txt. Diese wird wie folgt erzeugt:
mittels wget wird die ip-Adresse von checkip.dyndn.org geholt und als file.txt abgespeichert.
Mittels for /f gehe ich her und sorge dafür, dass nur die ip-Adresse selbst in der file.txt steht.

Nun möchte ich überprüfen, ob in der file.txt nur die ip-Adresse drin steht.

Der DL über wget soll nämlich über verschiedene Proxies erfolgen. Wenn einer nicht richtig funktioniert, dann steht am Ende eben nicht die ip-Adresse in file.txt, sondern der rest einer HTML-Datei.

Diese lässt sich aber identifizieren, indem man die Datei auf das Vorhandensein des html-Tags prüft.

Daher die Frage an euch, wie ich überprüfen kann, ob ein html> in der Datei vorkommt? Denn entweder am Anfang oder am Ende der Datei kommt der html> als Teil des Start- oder des End-Tags vor.

Ich habe es schon wie folgt versucht:

01.
type file.txt|find "html" 
02.
if  %errorlevel% == 1 goto htmlGefunden 
03.
if  %errorlevel% == 0 goto ipAdresseGefunden 
04.
goto uschi 
05.
 
06.
:htmlGefunden 
07.
echo %errorlevel% 
08.
echo html gefunden 
09.
pause 
10.
 
11.
 
12.
:ipAdresseGefunden 
13.
echo %errorlevel% 
14.
echo ip gefunden 
15.
pause
Zwar zeigt find etwas an, wenn html in der Datei vorkommt. Allerdings ändert es den Errorlevel nicht, so dass ich dann mittels if überprüfen kann, ob nun ein html in der Datei vorkommt oder ob nicht.

Viele Grüße
Martin
Mitglied: bastla
01.09.2008 um 06:58 Uhr
Hallo blacksun!

Versuch es so:
01.
@echo off & setlocal 
02.
findstr /i "html" "d:\file.txt">nul || goto :KeinhtmlGefunden 
03.
 
04.
echo html gefunden 
05.
pause 
06.
goto :eof 
07.
 
08.
:KeinhtmlGefunden 
09.
echo Kein html gefunden 
10.
pause
Grüße
bastla

P.S.: Für die Formatierung als Code benötigst Du <> anstelle von []
Bitte warten ..
Mitglied: blacksun
01.09.2008 um 16:32 Uhr
Hallo bastla,

Vielen Dank, damit funktionierts. Jetzt muss ich nicht erst umständlich die Sonderzeichen weglöschen, damit das ganze nicht in Wald fährt.

Viele Grüße
Martin
Bitte warten ..
Mitglied: RaNgErID
19.12.2009 um 17:26 Uhr
Hallo bastla,

ist anscheint eine dumme frage aber ich bräuchte das ganze umgekehrt sprich springe wenn html gefunden ?

mfG RaNgErID
Bitte warten ..
Mitglied: bastla
19.12.2009 um 17:32 Uhr
Hallo RaNgErID!

"||" umgekehrt ist "&&" ...

Grüße
bastla
Bitte warten ..
Mitglied: RaNgErID
19.12.2009 um 20:12 Uhr
Besten Dank bastla


Funktioniert einwandfrei was solch Zeichen alles bewirken können. ^^

mfg RaNgErID
Bitte warten ..
Mitglied: RaNgErID
04.01.2010 um 12:41 Uhr
hallo

ich hätte da noch eine Frage.

und zwar möchte ich gern, die Auflistung nicht untereinander, sondern nebeneinander, zudem hätte ich gern.

- bisher meine Lösung:
for /f "tokens=1,* delims=:" %%i in ('dir /b archiv\*.txt^|findstr /n $') do @echo [%%i] %%j

- Ausgabe:
[%%i] %%j

[1] datei1-text-text.txt
[2] datei2-text.-texttxt
[3] datei3-text-text.txt
[4] datei4-text-text.txt
[5] datei5-text-text.txt

das er mir,

[1] datei1 [2] datei2 [3] datei3 [4] datei4 [5] datei5

ausgibt, sprich das "-text-text.txt" weg ist.

ist das möglich, und wenn ja wie ?


mfG RaNgErID
Bitte warten ..
Mitglied: bastla
04.01.2010 um 13:01 Uhr
Hallo RaMgErID!

Unter der Annahme, dass jeweils am ersten "-" getrennt werden soll und es keine Dateinamen mit enthaltenen "!" gibt:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "Liste=" 
03.
for /f "delims=-" %%i in ('dir /b archiv\*.txt^|find /n "."') do set "Liste=!Liste!%%i " 
04.
set "Liste=%Liste:~,-1%" 
05.
echo %Liste:]=] %
Alternativ dazu:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "Liste=" 
03.
for /f "delims=" %%i in ('dir /b archiv\*.txt^|find /n "."') do set "Liste=!Liste!%%i " 
04.
set "Liste=%Liste:-text-text.txt=%" 
05.
set "Liste=%Liste:~,-1%" 
06.
echo %Liste:]=] %
Nachteil der zweiten (exakteren) Methode: Die Anzahl der zu verabeitenden Dateinamen wird reduziert, da jeder Name wesentlich mehr Speicherplatz benötigt.

Die jeweils letzte Zeile dient nur der Erzeugung des Abstandes zwischen Nummer und Dateinamen und setzt voraus, dass es in den Dateinamen kein "]" gibt.

Grüße
bastla
Bitte warten ..
Mitglied: RaNgErID
04.01.2010 um 13:41 Uhr
Wow bastla,

Ich Danke dir wie verrückt, glaubst gar nicht wie lange ich da schon rum probiert habe, und deiner einer schreibt mir mal so eben in 5 min 2 Lösungen hin.

die zudem auch noch funktionieren.


- Edit -

deine 1. Lösung doch abwärts listen ?
nebeneinander da trennt er die Dateinamen auf die nächste Zeile das schaut nicht unbedingt Übersichtlich aus.

so wie es jetzt aufgelistet ist in deiner ersten Variante bloß doch abwärts listen, nicht nebeneinander.

[1] datei1
[2] datei2



mfG RaNgErID
Bitte warten ..
Mitglied: bastla
04.01.2010 um 14:17 Uhr
Hallo RaNgErID!

Bei zeilenweiser Verarbeitung würde ich dann aber doch eher zu Variante 2 tendieren:
01.
@echo off & setlocal enabledelayedexpansion 
02.
for /f "delims=" %%i in ('dir /b archiv\*.txt^|find /n "."') do ( 
03.
    set "Zeile=%%i" 
04.
    set "Zeile=!Zeile:-text-text.txt=!" 
05.
    echo !Zeile:]=] ! 
06.
)
Grüße
bastla

P.S.: Es waren 9 Minuten ...
Bitte warten ..
Mitglied: RaNgErID
04.01.2010 um 14:52 Uhr
hmm 9 min ...

war aber schon nahe dran ^^

da kann ich nur mein Respekt aussprechen, ich habe es nicht an einem Tag geschafft.


also besten Dank für deine Hilfe.


Funktioniert erst mal soweit ...

mfG RaNgErID
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Ä in batch Datei (12)

Frage von BergEnte 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
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...