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, 3286 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Fehler in Schleife (2)

Frage von miczar zum Thema Batch & Shell ...

Windows Server
gelöst BackupExec 2016 Fehler beim Backup von Windows 2016 (1)

Frage von Looser27 zum Thema Windows Server ...

Switche und Hubs
gelöst Trunk für 2xCisco Switch. Wo liegt der Fehler? (43)

Frage von JayyyH zum Thema Switche und Hubs ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...