Letzen Zeilen löschen
Hab eine Frage. Ich les ein Verzeichnis aus:
Datentr„ger in Laufwerk E: ist Daten
Volumeseriennummer: xxxxx-xxxx
Verzeichnis von E:\*\html
27.11.2007 16:22 0 index.html
27.11.2007 15:24 22.952 index_favorites.html
27.11.2007 15:24 16.610 index_periodic.html
27.11.2007 15:24 1.627.698 PRUEF_V_A_STREET.html
28.11.2007 09:19 3.062 statistic_time.html
28.11.2007 09:19 3.062 temp.html
6 Datei(en) 1.673.384 Bytes
0 Verzeichnis(se), 121.650.913.280 Bytes frei
Hab des in einer Text datei stehen, aber ich bräuchte nur des:
index.html
index_favorites.html
index_periodic.html
PRUEF_V_A_STREET.html
statistic_time.html
temp.html
Wie kann ich mit batch einfach Die Letzten Zeilen löschen und die ersten 5.
Und es können auch mal mehhr dateien sein . Hab es mit sed probiert des schmeißt mir aber dann alles in eine Zeile...! Würde mich überhilfe freuen.
Hab es geschafft die ersten zeichen in jeder Zeile zu löschen jetzt hab ich noch den Schnippsel:
Da müssen nur noch die ersten 5Zeilen und die letzten 2 zeilen weg! Wie kann ich des machen?
Hab dann meinen Lösungweg gefunden... ist zwar n bisschen umständlich :D , aber falls es jemand interessiert:
die loschen.vbs
Gruß Madej
Datentr„ger in Laufwerk E: ist Daten
Volumeseriennummer: xxxxx-xxxx
Verzeichnis von E:\*\html
27.11.2007 16:22 0 index.html
27.11.2007 15:24 22.952 index_favorites.html
27.11.2007 15:24 16.610 index_periodic.html
27.11.2007 15:24 1.627.698 PRUEF_V_A_STREET.html
28.11.2007 09:19 3.062 statistic_time.html
28.11.2007 09:19 3.062 temp.html
6 Datei(en) 1.673.384 Bytes
0 Verzeichnis(se), 121.650.913.280 Bytes frei
Hab des in einer Text datei stehen, aber ich bräuchte nur des:
index.html
index_favorites.html
index_periodic.html
PRUEF_V_A_STREET.html
statistic_time.html
temp.html
Wie kann ich mit batch einfach Die Letzten Zeilen löschen und die ersten 5.
Und es können auch mal mehhr dateien sein . Hab es mit sed probiert des schmeißt mir aber dann alles in eine Zeile...! Würde mich überhilfe freuen.
Hab es geschafft die ersten zeichen in jeder Zeile zu löschen jetzt hab ich noch den Schnippsel:
n
tml
index.html
index_favorites.html
index_periodic.html
PRUEF_V_A_STREET.html
statistic_time.html
temp.html
3.384 Bytes
1.650.909.184 Bytes frei
Hab dann meinen Lösungweg gefunden... ist zwar n bisschen umständlich :D , aber falls es jemand interessiert:
@echo off
cd F:\html\
dir *.html>dir.txt
setlocal
set xy=36
set "Alt=E:\*\dir.txt"
set "Neu=E:\*\dir.txt"
set "Cut=%temp%\Cut.vbs"
echo Set fso=CreateObject("Scripting.FileSystemObject"):aL=Split(fso.OpenTextFile(WScript.Arguments(0),1).ReadAll,vbCrLF)>"%Cut%"
echo Set N=fso.OpenTextFile(WScript.Arguments(1),2,-1):P=WScript.Arguments(2)+1:For Each sL In aL: N.WriteLine Mid(sL,P):Next:N.Close>>"%Cut%"
cscript //nologo "%Cut%" "%Alt%" "%Neu%" %xy%
del "%Cut%"
rem Zeile 1-5 Löschen
sed "1,5d" dir.txt > dir1.txt
xcopy dir1.txt dir.txt /Y
rem letzte zeilen löschen
sed $d dir.txt > dir1.txt
xcopy dir1.txt dir.txt /Y
sed $d dir.txt > dir1.txt
xcopy dir1.txt dir.txt /Y
sed $d dir.txt > dir1.txt
xcopy dir1.txt dir.txt /Y
rem temp.html aus der Liste entfernen
call loeschen.vbs
rem leer zeilen löschen
FOR /F "delims=|" %%f IN (dir.txt) DO echo %%f >> dir2.txt
xcopy dir2.txt dir.txt /Y
del dir2.txt
rem einlesen der Variablen
.
.
.
del dir1.txt
pause
strFilename = "dir.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strFilename)
intFileSize = objFile.Size
Set objFile = objFile.OpenAsTextStream()
strFileContent = objFile.Read(intFileSize)
objFile.Close
Set objRegExp = New RegExp
objRegExp.Pattern = Chr(34)
objRegExp.Global = True
objRegExp.IgnoreCase = True 'False für case-sensitive
strFileContent = objRegExp.Replace(strFileContent, "")
objRegExp.Pattern = "temp.html"
strFileContent = objRegExp.Replace(strFileContent, "")
Set objFile = objFSO.OpenTextFile(strFilename, 2)
objFile.Write strFileContent
objFile.Close
Gruß Madej
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 74669
Url: https://administrator.de/contentid/74669
Ausgedruckt am: 20.11.2024 um 10:11 Uhr
2 Kommentare
Neuester Kommentar
Moin Madej1,
Anmerkung:
Du könntest auch statt des Befehls "dir *.html>dir.txt" den Befehl "dir /b *.html>dir.txt" verwenden.
Der Schalter /b bedeutet auf neudeutsch soviel wie bare=einfach, schmucklos.
Oder für die MediaMarkt-Generation leichter zu merken "/b wie billich".
Dann hast Du gleich "nur" die Dateinamen.
Grüße
Biber
Anmerkung:
Du könntest auch statt des Befehls "dir *.html>dir.txt" den Befehl "dir /b *.html>dir.txt" verwenden.
Der Schalter /b bedeutet auf neudeutsch soviel wie bare=einfach, schmucklos.
Oder für die MediaMarkt-Generation leichter zu merken "/b wie billich".
Dann hast Du gleich "nur" die Dateinamen.
Grüße
Biber