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

Die beiden letzten Zeilen einer Textdatei löschen

Frage Entwicklung Batch & Shell

Mitglied: cced-de

cced-de (Level 1) - Jetzt verbinden

24.10.2008, aktualisiert 15:41 Uhr, 6737 Aufrufe, 3 Kommentare

Hallo,
Ich habe auf meine Frage schon diverse Antworten in der DB gefunden, aber keine funktioniert auf mein Problem.
Ich hoffe Ihr könnt mir da weiterhelfen.

Mein Anliegen:
Per Dir Befehl Ordner in eine Txt Datei schreiben lassen.
Dann die ersten 7 Zeilen und die je ersten 36 Zeichen jeder zeile löschen lassen.
Bis hierhin funktioniert alles.

Danach die letzten 2 Zeilen aus der Txt Datei löschen lassen, um die in der Txtdatei verbleibenden
Ordnernamen weiterzuverarbeiten.
Und das funktioniert bei mir leider nicht.

Hier mein Scriptansatz:
01.
@echo off 
02.
cls 
03.
 
04.
:: Listet alle Verzeichnisse in list.txt 
05.
	DIR /AD "H:\!!_Test\Test" > list.txt 
06.
 
07.
:: Liest Verzeichnisse aus List.txt,löscht unnütze Zeichen und schreibt in List.New 
08.
	for /f "skip=7 usebackq delims=" %%i in ("list.txt") do call :ProcessLine "%%i" 
09.
	goto KillLines 
10.
 
11.
	:PROCESSLINE 
12.
	set "Zeile=%~1" 
13.
 
14.
::ab 35. Buchstaben ausgeben 
15.
	(echo %Zeile:~36%)>>"List.new" 
16.
	goto :eof 
17.
 
18.
:: Hier sollen die letzten 2 Zeilen mit beliebigem Inhalt aus List.New gelöscht werden. 
19.
:: Danach Soll List.New in List.txt umbenannt werden. 
20.
 
21.
:KillLines 
22.
	move "List.new" "List.bak" 
23.
	for /f "delims=:" %%i in ('findstr /n $ "list.bak"') do set EntfZeile=%%i 
24.
	for /f "tokens=1* delims=:" %%i in ('findstr /n $ "List.bak"') do if %%i neq %EntfZeile% echo.%%j>"List.bak" 
25.
	move "List.bak" "List.txt" 
26.
 
27.
:end
Ich hoffe Ihr könnt mir hier helfen.
LG CCED
Mitglied: bastla
24.10.2008 um 09:44 Uhr
Hallo cced-de!

Vielleicht solltest Du Dir einmal
dir /b /ad "H:\!!_Test\Test"
ansehen ...

Grüße
bastla
Bitte warten ..
Mitglied: cced-de
24.10.2008 um 09:48 Uhr
Au Man...
Warum einfach wenn´s auch umständlich geht oder... ich sehe den Wald vor lauter bäumen nicht mehr !!
Sorry ! und DANKEEE

P.s. aber rein interesse halber...
Wie löscht man die letzten x Zeilen aus einer Txt Datei, wenn man deren Inhalt nicht kennt ?
LG
CCED
Bitte warten ..
Mitglied: bastla
24.10.2008 um 15:41 Uhr
Hallo cced-de!

Wie löscht man die letzten x Zeilen aus einer Txt Datei, wenn man deren Inhalt nicht kennt ?
Etwa so:
01.
@echo off & setlocal 
02.
set "Datei=D:\List.txt" 
03.
set "Entf=2" 
04.
set "Bak=bak" 
05.
 
06.
set Anzahl=0 
07.
for /f "delims=:" %%i in ('findstr /n "^" "%Datei%"') do set Anzahl=%%i 
08.
set /a Bis=%Anzahl%-%Entf% 
09.
 
10.
if %Bis% leq 0 ( 
11.
    echo Die Datei "%Datei%" enthaelt zu wenig Zeilen! 
12.
    goto :eof 
13.
14.
 
15.
move "%Datei%" "%Datei%.%Bak%" 
16.
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%Datei%.%Bak%"') do if %%i leq %Bis% (>>"%Datei%" echo\%%j)
Die verbleibende Sicherungskopie in "%Datei%.%Bak%" kannst Du natürlich auch noch entfernen lassen.
Ansonsten gäbe es auch noch "findstr /v", soferne Du ein eindeutiges/verlässliches Suchkriterium für unerwünschte Zeilen hast, also etwa:
dir /ad|findstr /v "Datei(en) Verzeichnis(se),"
Wenn Du das noch mit einem "more +x" kombinierst, kommt zB sowas raus:
dir /ad|findstr /v "Datei(en) Verzeichnis(se),"|more +5
Oder natürlich, für Deinen obigen Zweck, die zweit-einfachste Variante:
dir /ad|findstr "<DIR>"
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst In allen Textdateien eines bestimmten Pfades die Zeilen x bis Ende löschen (2)

Frage von Schloth zum Thema Batch & Shell ...

Batch & Shell
gelöst Erstellungsdatum vor jede Zeile einer Textdatei schreiben (5)

Frage von freakonaleash zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch jede Zeile einer Textdatei prüfen (4)

Frage von Peter32 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Exchange Server

Mittels Batch-Script Exchange-Logs sammeln und archivieren

Anleitung von beidermachtvongreyscull zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
SSL Zertifikat für HTTPS (33)

Frage von Hendrik2586 zum Thema Verschlüsselung & Zertifikate ...

Grafikkarten & Monitore
24" oder 27" mit Full HD oder doch mehr Auflösung? (21)

Frage von brutzler zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...