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
Kommentar vom Moderator Biber am 10.12.2009 um 11:29:59 Uhr
Zitat von 5t8d1e:
Du kannst die Ausgabe der 2. Schleife pipen und danach die Dateien umbennen.
#rgc = 630
GELÖST

Per Batch Zeilen in txt datei löschen

Frage Entwicklung Batch & Shell

Mitglied: ConsTricTa

ConsTricTa (Level 1) - Jetzt verbinden

09.12.2009, aktualisiert 10.12.2009, 7340 Aufrufe, 8 Kommentare

Hallo
Mehrer User schreiben per Batch in eine gemeinsame txt datei.
Diese wird wiederrum mit einer anderen Batch datei ausgegeben.
Jz möchte ich, wenn die txt datei zu lange ist (zb über 30 Zeilen) immer die erste/n löschen, damit es nie mehr wie zb. 30 Zeilen sind!

Grüße
Mitglied: Snowman25
09.12.2009 um 11:14 Uhr
hallo,

benutz edlin dazu:
01.
edlin lawl.txt<commd
wobei in der Datei 'commd' (Ohne Dateierweiterung!) die commandos stehen. z.B.:
01.
1D 
02.
03.
 
beachte die Leerzeile!

nachteil bei Edlin: du bekommst ein SUB-Sonderzeichen bzw. ein  ans ende der Datei gesetzt...
Lässt sich aber mit z.B.
01.
Echo. >>lawl.txt
beheben, wobei du dann aber 'ne 2. leerzeile unten dran bekommst
Bitte warten ..
Mitglied: TsukiSan
09.12.2009 um 15:01 Uhr
Falls es in VBS sein darf, dann eventuell so:
01.
Pfad = "C:\Test.txt" 
02.
ZeilenMax = 30 
03.
 
04.
Set FSO = CreateObject("Scripting.FileSystemObject") 
05.
 
06.
Set Zeilen = FSO.OpenTextFile(Pfad,1) 
07.
	ZeilenEinzel = Split(Zeilen.ReadAll,vbCrLf) 
08.
Zeilen.Close 
09.
 
10.
If Ubound(Zeileneinzel) > (ZeilenMax -1) then 
11.
	For i = Ubound(Zeileneinzel) - 30 to Ubound(Zeileneinzel) 
12.
		If not i = Ubound(Zeileneinzel) Then 
13.
			 ZeilenNeu = ZeilenNeu & Zeileneinzel(i) & vbCrLf 
14.
		Else 
15.
			ZeilenNeu = ZeilenNeu & Zeileneinzel(i) 
16.
		End If 
17.
	next 
18.
	 
19.
	Set Zeilen = FSO.CreateTextFile(Pfad, True) 
20.
	Zeilen.Write (ZeilenNeu) 
21.
	Zeilen.Close 
22.
End If 
23.
 
Gruss
Tsuki
Bitte warten ..
Mitglied: 5t8d1e
09.12.2009 um 16:11 Uhr
Hallo,

hier ein kleines Beispiel:

01.
SET Counter=0 
02.
SET File=admin.txt 
03.
for /f %%i in (%File%) do @set /a Counter+=1 
04.
SET last30=%counter% 
05.
SET /a last30-=30 
06.
for /f "skip=%last30%" %%i in (%File%) do @echo %%i
Du kannst die Ausgabe der 2. Schleife pipen und danach die Dateien umbennen.
Bitte warten ..
Mitglied: bastla
09.12.2009 um 18:39 Uhr
@5t8d1e
Wenn Leerzeilen unter den Tisch fallen dürfen, würde ich das auch so ähnlich machen - ansonsten:
01.
@echo off & setlocal 
02.
set "File=D:\admin.txt" 
03.
set /a Lines=30 
04.
 
05.
set /a Counter=0 
06.
set "TmpFile=%temp%\tail.txt" 
07.
for /f "delims=:" %%i in ('findstr /n "^" "%File%"') do set Counter=%%i 
08.
set /a Latest=Counter-Lines 
09.
if %Latest% gtr 0 ( 
10.
    more +%Latest% "%File%">"%TmpFile%" 
11.
    move "%TmpFile%" "%File%" 
12.
)
Da es hier nur um wenige Zeilen zu gehen scheint und "more +n", falls ich das richtig im Hinterkopf habe, erst ab 65.536 Zeilen zu zicken beginnt, sollte das eigentlich funktionieren ...

Grüße
bastla
Bitte warten ..
Mitglied: bastla
09.12.2009 um 22:06 Uhr
@Tsuki
Als Alternative zum Vermeiden der Zeilenschaltung nach der letzten Zeile könntest Du auch folgende Vorgangsweise (erspart die Abfrage in jedem Schleifendurchlauf) verwenden:
01.
For i = UBound(Zeileneinzel) - 29 to UBound(Zeileneinzel)  
02.
    ZeilenNeu = ZeilenNeu & vbCrLf & Zeileneinzel(i) 
03.
Next 
04.
ZeilenNeu = Mid(ZeilenNeu, 3) 'CrLf am Anfang der ersten Zeile entfernen
Grüße
bastla
Bitte warten ..
Mitglied: TsukiSan
09.12.2009 um 22:52 Uhr
@bastla,

das ist natürlich auch 'ne Idee, das Progrämmchen schneller zu bekommen

Danke!

Gruss
Tsuki
Bitte warten ..
Mitglied: ConsTricTa
09.12.2009 um 23:20 Uhr
dankeschön an allle für die lösungen! werd mir das bei nächster gelgenheit genauer ansehen und versuchen durchzublicken ;)

grüße
Bitte warten ..
Mitglied: ConsTricTa
16.12.2009 um 16:31 Uhr
ok danke hab alles durchprobiert und danke euch alle für die vielen vorschläge!!!
echt klasse

gruß
julian
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Per Batch eine XLS-Datei in eine TXT-Datei umwandeln (5)

Frage von skiing69 zum Thema Batch & Shell ...

Batch & Shell
gelöst Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (7)

Frage von freshman2017 zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

LAN, WAN, Wireless
Rogue Access Point (20)

Frage von Axel90 zum Thema LAN, WAN, Wireless ...

E-Mail
Fake E-Mail in Outlook für Demonstartionszwecke (12)

Frage von sascha382 zum Thema E-Mail ...

Linux Netzwerk
gelöst Debian Neuinstallation 2.Netzwerkkarte keine Verbindung (10)

Frage von terminator zum Thema Linux Netzwerk ...