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

Fehler in for - Schleife

Frage Entwicklung Batch & Shell

Mitglied: kkboy94

kkboy94 (Level 1) - Jetzt verbinden

03.07.2010, aktualisiert 14:52 Uhr, 3312 Aufrufe, 12 Kommentare

Ich weiß, es klingt einfach. Ist es eigentlich auch aber ich glaube ich steh aufm Schlauch und kommen einfach nicht drauf, was falsch sein könnte.
Meine Schleife sieht so aus:
for /f "skip=2" %%z in (%file%.txt) do type %%z
Aber sie funktioniert einfach nicht. Die batch Datei sagt mir :

Das System kann die angegebene Datei nicht finden.

Das klingt jetzt nach --> Die Datei ist in Wirklichkeit nicht vorhanden, ABER darauf bin ich auch schon gekommen, und habe vor dem Start der Schleife noch eine pause eingefügt, und nachgesehen, ob die datei existiert oder nicht. Raus kam--> Sie ist vorhanden.

Dann habe ich noch verschieden Schreibweisen ausprobiert:
for /f "skip=2" %%z in ('%file%.txt') do type %%z
for /f "skip=2" %%z in ("%file%.txt") do type %%z
Kann mir jemand sagen, was ich falsch gemacht habe?

Danke schonmal im Voraus

MfG Karsten
Mitglied: bastla
03.07.2010 um 15:00 Uhr
Hallo Karsten!

Da ja in "%file%.txt" Dateinamen (mit oder ohne Pfad) stehen müssten: Könnte es sein, dass im Namen (oder Pfad) von %file% oder der ausgelesenen Datei Leerzeichen enthalten sind? Wenn ja:
for /f "usebackq skip=2 delims=" %%z in ("%file%.txt") do type "%%z"
Grüße
bastla
Bitte warten ..
Mitglied: kkboy94
03.07.2010 um 18:23 Uhr
Danke erstmal
Komische Sache, funktioniert so halb deine Lösung.

es wird der richtige Output angegeben, allerdings :
1. es werden nur 72 der eigentlich 120 angezeigt /// Es können auch mehr Gesamt-Zeilen sein , es werden aber trotzdem IMMER (nach 5 Tests) nur 72 Zeilen im CMD-Fenster angezeigt
2. Fehlermeldung kommt trotzdem
3. Batch schließt einfach

Auf Wunsch kann ich ja auch mal eine .txt-Datei posten

MfG Karsten
Bitte warten ..
Mitglied: bastla
03.07.2010 um 18:50 Uhr
Hallo Karsten!
Auf Wunsch kann ich ja auch mal eine .txt-Datei posten
Wäre zweifelsohne eine gute Idee ...

... und auch, woher %file% stammt, ist nicht ganz uninteressant.

Grüße
bastla
Bitte warten ..
Mitglied: kkboy94
03.07.2010 um 19:10 Uhr
ok ich poste erst mal die komplette Batch:
01.
@echo off & setlocal 
02.
chcp 1252>nul 
03.
set ue=ü 
04.
set ae=ä 
05.
set oe=ö 
06.
set Uue=Ü 
07.
set Aae=Ä 
08.
set Ooe=Ö 
09.
set ss=ß 
10.
chcp 850>nul 
11.
 
12.
title IP-Scan Autostart 
13.
:range 
14.
echo. 
15.
set /p bc=Geben sie den IP-Broadcast an bis zu dem gepingt werden soll (max.254):  
16.
if not defined bc goto :range 
17.
if /i (%bc%) GEQ (255) goto :range 
18.
:filen 
19.
echo. 
20.
set /p file=Geben sie einen Dateinamen an, in dem der Output gespeichert wird:  
21.
if not defined bc goto :filen 
22.
del %file%.txt 2>nul 
23.
 
24.
for /f "tokens=1,3 delims=:" %%i in ('ipconfig/all^|findstr "IP-Ad"^|findstr /n $') do ( 
25.
  call :start %%j 
26.
)     
27.
 
28.
 
29.
goto :eof  
30.
 
31.
:start 
32.
       for /f "tokens=1,2,3 delims=." %%a in ("%~1") do set ipa=%%a.%%b.%%c. 
33.
start "IP-Scan" /wait "ipscan.exe" %ipa%0 %ipa%%bc% %file%.txt -h 
34.
pause 
35.
for /f "usebackq skip=2 delims=" %%z in ("%file%.txt") do type "%%z" 
36.
echo Beliebige Taste zum Beenden dr%ue%cken 
37.
pause >nul 
38.
del %file%.txt 2>nul 
39.
goto :eof  
und hier mal sone txt:
This file was generated by Angry IP Scanner 
Visit http://www.angryziber.com/ for the latest version 
 
 
Scanned 192.168.2.0 - 192.168.2.254 
03.07.2010 18:21:47 
 
IP                    Ping                  Hostname               
 
192.168.2.1           9 ms                  speedport.ip           
192.168.2.2           Dead                  N/S                    
192.168.2.3           Dead                  N/S                    
192.168.2.4           Dead                  N/S                    
192.168.2.5           Dead                  N/S                    
192.168.2.6           Dead                  N/S                    
192.168.2.7           Dead                  N/S                    
192.168.2.8           Dead                  N/S                    
192.168.2.9           Dead                  N/S                    
192.168.2.10          Dead                  N/S                    
192.168.2.11          Dead                  N/S                    
192.168.2.12          Dead                  N/S                    
192.168.2.13          Dead                  N/S                    
192.168.2.14          Dead                  N/S                    
192.168.2.15          Dead                  N/S                    
192.168.2.16          Dead                  N/S                    
192.168.2.17          Dead                  N/S                    
192.168.2.18          Dead                  N/S                    
192.168.2.19          Dead                  N/S                    
192.168.2.20          Dead                  N/S                    
192.168.2.21          Dead                  N/S                    
192.168.2.22          Dead                  N/S                    
192.168.2.23          Dead                  N/S                    
192.168.2.24          Dead                  N/S                    
192.168.2.25          Dead                  N/S                    
192.168.2.26          Dead                  N/S                    
192.168.2.27          Dead                  N/S                    
192.168.2.28          Dead                  N/S                    
192.168.2.29          Dead                  N/S                    
192.168.2.30          Dead                  N/S                    
...                                                                                         <--- Den teil hab ich mal rausgekürzt, aber man kann sich ja denken was dahin kommt        
192.168.2.94          Dead                  N/S                    
192.168.2.95          Dead                  N/S                    
192.168.2.96          Dead                  N/S                    
192.168.2.97          Dead                  N/S                    
192.168.2.98          Dead                  N/S                    
192.168.2.99          Dead                  N/S                    
192.168.2.100         Dead                  N/S                    
192.168.2.101         0 ms                  karsten-z33v.Speedport_W_700V 
192.168.2.102         5 ms                  BRW00234DDD6A6B        
192.168.2.103         Dead                  N/S                    
              
Und wie siehts mit den 72 Zeilen aus? Lässt sich da vielleicht was machen?

MfG Karsten
Bitte warten ..
Mitglied: bastla
03.07.2010 um 20:04 Uhr
Hallo Karsten!

"type" dient dazu, den Inhalt einer Datei anzuzeigen - gibt es demnach Dateien mit Namen wie "192.168.2.1" oder "192.168.2.73", bzw könntest Du kurz den eigentlichen Sinn der Aktion beschreiben?

Vielleicht könnte Dich ja eine Zeile der Art
findstr /b "[0-9][0-9][0-9]\." "%file%.txt"
oder auch
findstr /b "[0-9][0-9][0-9]\." "%file%.txt"|findstr /v "Dead"
eher Deinem Ziel näherbringen ...

Grüße
bastla
Bitte warten ..
Mitglied: kkboy94
03.07.2010 um 20:18 Uhr
Das zweite funktioniert super, bis auf ein kleines Manko:
Die Überschrift ist weg, aber damit kann ich leben
Ein großes DANKESCHÖN!!

Der Sinn der ganzen Aktion (ich meine jetzt alles/die komplette Batch) lässt sich erahnen. Ich will Halt einen IP-Bereich mithilfe des Programms "AngryIP-Scanner" anpingen.

Und der Sinn der type-Geschichte:
Ich wollte halt ein temporäres Log-File, welches dann ohne die ersten beiden Zeilen in dem konsolenfenster angezeigt wird, und dazu hab ich bis jetzt immer "type" benutzt, oder ist das ein falscher Befehl? Und Nein, es gibt keine Dateien mit solchen Namen

MfG Karsten
Bitte warten ..
Mitglied: bastla
03.07.2010 um 20:22 Uhr
Hallo Karsten!

Der Befehl zum Schreiben in das Konsolenfenster ist "echo" ...
Die Überschrift ist weg, aber damit kann ich leben
Musst Du aber nicht:
more +2 "%file%.txt"|findstr /v "Dead"
Grüße
bastla
Bitte warten ..
Mitglied: kkboy94
03.07.2010 um 20:29 Uhr
Mit echo wärs dann also so?:
echo < blub.txt
Danke auch für den neuen Teil, werd ich sofort einbauen
Bitte warten ..
Mitglied: bastla
03.07.2010 um 20:36 Uhr
Hallo Karsten!
Mit echo wärs dann also so?:
echo < blub.txt
Du wolltest doch die Zeilen des Logfiles per "for"-Schleife einzeln ausgeben - darauf hatte sich das "echo" bezogen; für die Ausgabe der kompletten Datei ist "type" natürlich ok (und wenn Du die Datei ab einer bestimmten Zeile haben willst, dann "more +Anzahl_zu_überspringender_Zeilen") ...

Grüße
bastla
Bitte warten ..
Mitglied: kkboy94
03.07.2010 um 20:49 Uhr
Ahh gut ok.
1. Ich habs mal so probiert:
01.
echo. 
02.
more +2 "%temp%\templog.txt"|findstr /v "Dead" 
03.
echo. 
04.
echo. 
05.
echo Beliebige Taste zum Beenden dr%ue%cken 
06.
pause >nul
2. Und mal so:
01.
echo. 
02.
more +2 "%temp%\templog.txt"|findstr /v "Dead" 
03.
findstr /b "[0-9][0-9][0-9]\." "%temp%\templog.txt"|findstr /v "Dead" 
04.
echo. 
05.
echo. 
06.
echo Beliebige Taste zum Beenden dr%ue%cken 
07.
pause >nul
Warum kommt bei beiden Versionen das gleiche Ergebnis?Bei 2. müsste es doch doppelt sein oder nicht?

MfG Karsten
Bitte warten ..
Mitglied: bastla
03.07.2010 um 20:59 Uhr
Hallo Karsten!
Bei 2. müsste es doch doppelt sein oder nicht?
Ist es bei mir auch mit den von Dir geposteten Testdaten ...

Vermutlich wird bei Dir
findstr /b "[0-9][0-9][0-9]\."
keine Ausgabe erzeugen (gesucht wird damit nach Zeilen, die mit 3 Ziffern und einem Punkt beginnen) ...

Grüße
bastla
Bitte warten ..
Mitglied: kkboy94
03.07.2010 um 21:04 Uhr
Doch auf einmal schon, oder ich hab mir nen Hitzeschlag geholt, dass ich eben nich vernüftig geschaut habe. Und auf einmal versteh ich auch das Zeug, was du mir eben geschrieben hast .

Danke nochmal

MfG Karsten
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Fehler in Schleife (2)

Frage von miczar zum Thema Batch & Shell ...

Batch & Shell
gelöst Verschachtelte FOR-Schleife mit einem Argument (3)

Frage von mp-home zum Thema Batch & Shell ...

Batch & Shell
gelöst While Schleife mit mehreren Arrays (2)

Frage von Markus2016 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 7
Bluesreens unternehmensweit (18)

Frage von SYS64738 zum Thema Windows 7 ...

Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Windows 10
Programm Installation bei Win 10 Fehlerhaft (13)

Frage von Keineahnungvonnix zum Thema Windows 10 ...

Windows Netzwerk
DNS ins mehreren Subnetzen (13)

Frage von joerg zum Thema Windows Netzwerk ...