
130834
25.12.2016
Linie mit Leer überschreiben (Batch)
Hey ihr Batch-ler da draußen!
Ich entwickle grad meinen Eigenen Batch Safe auf Professionellem Level, also ECHTE Verschlüsselungen ( Extra-Tools ) mit Passwörtern und User Accounts und allem, so dass Dateien am Ende wirklich sicher sind, und nur wer das Passwort weiß kann sie Entschlüsseln, da das Passwort nirgendswo gespeichert wird, sondern die Dateien in einem zip Safe abgelegt werden... und ach ja mein Problem.
Um den Bildschirm weniger flashig und nervig und so zu machen, wenn man gerade Hochqualitative Auswahlmenüs verwendet, und weil ich das Programm-logo überall drin habe, verwende ich Graphic.exe um nur bestimmte Teile des Bildschirms zu aktualisieren, kurz einfach überschreiben, und verwende kein CLS.
Jetzt habe ich ein paar Probleme damit eine Einzelne Linie zu Leeren.
Manchmal muss ich das da ich nicht weiß was da gerade steht (Nutzername, Passwörter und so ) und die Länge nicht bestimmen kann/will.
Zuerst habe ich einfach den DELETE Character von ASCII in einer Variable gespeichert und ganz viele Leerzeichen sowie a!CR! am Anfang damit es überhaupt ausgegeben wird.
Das habe ich dann überall im ganzen Skript verwendet und einfach immer kopiert.
Dann wurde mir das zuviel und ich hab das ganze in eine variable gesetzt um den Code ordentlicher zu machen und nur noch die variable hingeschrieben.
Problem: Das funktioniert nicht. das a wird trotzdem geschrieben. Kann sein das der DELETE Charakter in der variable nicht wirkt, nicht geschrieben wird, nicht verwendet wird, was auch immer.
Funktioniert auch nicht wenn ich %% anstatt !! verwende, Erstaunlicherweise.
Die Frage ist jetzt: Wie krieg ich das in eine Variable und kann nur diese schreiben lassen kann und nicht 103 Leerzeichen überall im ganzen Skript haben, welche ich ständig kopieren muss?
Warte auf eure Kreativen Ideen
lg clragon
Ich entwickle grad meinen Eigenen Batch Safe auf Professionellem Level, also ECHTE Verschlüsselungen ( Extra-Tools ) mit Passwörtern und User Accounts und allem, so dass Dateien am Ende wirklich sicher sind, und nur wer das Passwort weiß kann sie Entschlüsseln, da das Passwort nirgendswo gespeichert wird, sondern die Dateien in einem zip Safe abgelegt werden... und ach ja mein Problem.
Um den Bildschirm weniger flashig und nervig und so zu machen, wenn man gerade Hochqualitative Auswahlmenüs verwendet, und weil ich das Programm-logo überall drin habe, verwende ich Graphic.exe um nur bestimmte Teile des Bildschirms zu aktualisieren, kurz einfach überschreiben, und verwende kein CLS.
Jetzt habe ich ein paar Probleme damit eine Einzelne Linie zu Leeren.
Manchmal muss ich das da ich nicht weiß was da gerade steht (Nutzername, Passwörter und so ) und die Länge nicht bestimmen kann/will.
Zuerst habe ich einfach den DELETE Character von ASCII in einer Variable gespeichert und ganz viele Leerzeichen sowie a!CR! am Anfang damit es überhaupt ausgegeben wird.
Das habe ich dann überall im ganzen Skript verwendet und einfach immer kopiert.
Dann wurde mir das zuviel und ich hab das ganze in eine variable gesetzt um den Code ordentlicher zu machen und nur noch die variable hingeschrieben.
Problem: Das funktioniert nicht. das a wird trotzdem geschrieben. Kann sein das der DELETE Charakter in der variable nicht wirkt, nicht geschrieben wird, nicht verwendet wird, was auch immer.
Funktioniert auch nicht wenn ich %% anstatt !! verwende, Erstaunlicherweise.
Die Frage ist jetzt: Wie krieg ich das in eine Variable und kann nur diese schreiben lassen kann und nicht 103 Leerzeichen überall im ganzen Skript haben, welche ich ständig kopieren muss?
Warte auf eure Kreativen Ideen
lg clragon
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 324858
Url: https://administrator.de/forum/linie-mit-leer-ueberschreiben-batch-324858.html
Ausgedruckt am: 15.05.2025 um 13:05 Uhr
3 Kommentare
Neuester Kommentar
Hallo clragon.
Testweise
%%a Backspace (funktioniert als erstes Zeichen bei der SET /P Ausgabe)
%%b Carriage Return
Grüße
rubberman
Testweise
@echo off &setlocal EnableDelayedExpansion
for /f "tokens=2,3 delims=# " %%a in (
'prompt $H#^&for /f %%b in ^('copy /z "%~f0" nul'^) do %%b# 2^>nul'
) do set "del=set /p "=%%a%%b %%b""
set /p "=Hallo Welt^!" <nul
timeout /t 2 /nobreak >nul
!del!<nul
set /p "=Hello, World^!" <nul
pause >nul
%%b Carriage Return
Grüße
rubberman