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

Letzte Zeile entfernen

Frage Entwicklung Batch & Shell

Mitglied: waldgnarf

waldgnarf (Level 1) - Jetzt verbinden

08.06.2008, aktualisiert 23:29 Uhr, 3404 Aufrufe, 2 Kommentare

Hallöchen, ich habe ein Batch/VBS Programm gebastelt was Infos in MsgBox anzeigt, speichert und löscht.
Es fehlt nur noch ein Batch snipp zum löschen der letzten 2 Zeilen.
Der den ich unten etwas gekennzeichnet habe löscht alle Doppelpunkte und dann hat das Progg keine goto Ziele mer.
01.
set zeile=0 
02.
for /f "tokens=1 delims=" %%a in (INFO.txt) do ( 
03.
set /a zeile=!zeile!+1 
04.
05.
for /f "tokens=1 delims=" %%a in (INFO.txt) do ( 
06.
if !zeile! gtr 2 echo %%a>>INFOtmp01.txt 
07.
set /a zeile=!zeile!-1 
08.
)
Und dieser macht, wenn sich die Datei wegen Aktualisierung aus einer Kopie reproduziert, aus den Ausrufezeichen Zahlen von 60-69.^^

01.
@echo off & setlocal enableDelayedExpansion 
02.
goto :START 
03.
:SPEODERLOE 
04.
echo WScript.Echo inputBox("Speichern = s oder Loeschen = l", "AENDERUNGEN")>"soltmp.vbs" 
05.
for /f "delims=" %%i in ('cscript //nologo "soltmp.vbs"') do set sol=%%i 
06.
del "soltmp.vbs" 
07.
if "%sol%"=="s" goto :SPEICHERN 
08.
if "%sol%"=="S" goto :SPEICHERN 
09.
if "%sol%"=="l" goto :LOESCHEN 
10.
if "%sol%"=="L" goto :LOESCHEN 
11.
if "%sol%"=="" exit 
12.
:SPEICHERN 
13.
echo WScript.Echo inputBox("keine Sonderzeichen und Zahlen", "TEXT SPEICHERN", "Eingabe")>"spetmp.vbs" 
14.
for /f "delims=" %%i in ('cscript //nologo "spetmp.vbs"') do set spe=%%i 
15.
if not "%spe%"=="" echo "%spe%">"speichern.txt" 
16.
for /f "delims=" %%I in (speichern.txt) do set "X=%%I" & echo !X:~1,-1!>>"speichern.txt" 
17.
del "spetmp.vbs" 
18.
copy "INFO.bat" "INFO.txt" 
19.
:SPEINFO 
20.
:-----------------------löscht alle -->":" Zeichen------------------------ 
21.
for /f "delims=:" %%i in ('findstr /n $ "INFO.txt"') do set enfzeile=%%i 
22.
for /f "tokens=1* delims=:" %%i in ('findstr /n $ "INFO.txt"') do if %%i neq %enfzeile% echo.%%j>>"INFOtmp01.txt" 
23.
:-----------------------löscht alle -->":" Zeichen------------------------ 
24.
del "INFO.txt" && ren "INFOtmp01.txt" "INFO.txt" 
25.
:SPEICHERVORGANG 
26.
set filter=speichern.txt 
27.
set bytes=0 
28.
for /R %pfad% %%f in (%filter%) do ( 
29.
    echo %%f - %%~zfBytes 
30.
    set /A bytes=bytes+%%~zf 
31.
32.
if "%bytes%"=="0" goto :KBSPEENDE 
33.
for /f "delims=" %%A in (speichern.txt) do set spelz=%%A 
34.
echo echo MsgBox "%spelz%"^>^%spelz%msg.vbs>>"INFO.txt" 
35.
echo call "%spelz%msg.vbs">>"INFO.txt" 
36.
type speichern.txt|find /v "%spelz%">spetmp01.txt && move /y spetmp01.txt 
37.
type spetmp01.txt|find /v " ">spetmp02.txt && move /y spetmp02.txt 
38.
for /f %%I in ('dir /b spetmp02.txt') do findstr . %%I>>"spetmp03.txt" 
39.
del "speichern.txt" 
40.
ren "spetmp03.txt" "speichern.txt" 
41.
del "spetmp0*.txt" 
42.
goto :SPEICHERVORGANG 
43.
:KBSPEENDE 
44.
del "speichern.txt" 
45.
echo del "*msg.vbs">>"INFO.txt" 
46.
echo goto :SPEODERLOE>>"INFO.txt" 
47.
exit 
48.
:LOESCHEN 
49.
echo WScript.Echo inputBox("keine Sonderzeichen und Zahlen", "TEXT LOESCHEN", "Eingabe")>"loetmp.vbs" 
50.
for /f "delims=" %%i in ('cscript //nologo "loetmp.vbs"') do set loe=%%i 
51.
if not "%loe%"=="" echo "%loe%">"loeschen.txt" 
52.
for /f "delims=" %%I in (loeschen.txt) do set "X=%%I" & echo !X:~1,-1!>>"loeschen.txt" 
53.
del "loetmp.vbs" 
54.
copy "INFO.bat" "INFO.txt" 
55.
:LOESCHVORGANG 
56.
set filter=loeschen.txt 
57.
set bytes=0 
58.
for /R %pfad% %%f in (%filter%) do ( 
59.
    echo %%f - %%~zfBytes 
60.
    set /A bytes=bytes+%%~zf 
61.
62.
if "%bytes%"=="0" goto :KBLOEENDE 
63.
for /f "delims=" %%A in (loeschen.txt) do set loelz=%%A 
64.
type INFO.txt|find /v "%loelz%.vbs">"INFOtmp.txt" 
65.
del "INFO.txt" 
66.
ren "INFOtmp.txt" "INFO.txt" 
67.
type loeschen.txt|find /v "%loelz%">loetmp01.txt && move /y loetmp01.txt 
68.
type loetmp01.txt|find /v " ">loetmp02.txt && move /y loetmp02.txt 
69.
for /f %%I in ('dir /b loetmp02.txt') do findstr . %%I>>"loetmp03.txt" 
70.
del "loeschen.txt" 
71.
ren "loetmp03.txt" "loeschen.txt" 
72.
del "loetmp0*.txt" 
73.
goto :LOESCHVORGANG 
74.
:KBLOEENDE 
75.
del "loeschen.txt" 
76.
exit 
77.
:START 
78.
echo MsgBox "Tachchen">Tachchenmsg.vbs 
79.
call "Tachchenmsg.vbs" 
80.
del "*msg.vbs" 
81.
goto :SPEODERLOE
Grüsse waldgnarf
Mitglied: bastla
08.06.2008 um 20:56 Uhr
Hallo waldgnarf!

Da Du ja schon mit VBScript arbeitest, könntest Du das so machen:
01.
set R=%temp%\RemoveLastLine.vbs 
02.
echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=Split(fso.OpenTextFile(F).ReadAll,vbCrLF):C=(T(UBound(T))=""):U=UBound(T)+C-1:ReDim Preserve T(U):A=Join(T,vbCrLF)^&String(-C,vbCrLF):fso.CreateTextFile(F,True).Write A>%R% 
03.
cscript //nologo %R% "INFO.txt"
Die Anzahl der zu entfernenden Zeilen steht unmittelbar vor ":ReDim...".

Grüße
bastla
Bitte warten ..
Mitglied: waldgnarf
08.06.2008 um 23:29 Uhr
Danke sehr für deine Hilfe, klappt jetzt alles wie ich es wollte.

Grüße
waldgnarf
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Batch & Shell
Bei copy aus FOR Schleife wird letzte Zeile abgeschnitten

Frage von miczar zum Thema Batch & Shell ...

Windows 7
Texte weisen Fehler auf letzte Zeile wie Barcod Striche (3)

Frage von Nemonautilus zum Thema Windows 7 ...

Windows Server
gelöst DirectAccess Einstellungen im AD entfernen (3)

Frage von Neukunde zum Thema Windows Server ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (13)

Frage von HeinrichM zum Thema Windows Server ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...