Symbole nach zahlen anzeigen ?
Hi
ich möchte gerne einen counter schreiben...
bin auch so gut wie fertig aber da fehlt noch eine kleingkeit...
das scheme zum zählen sieht so aus:
:Start
set /a count=count+1
goto :Start
So nun soll aber ein kleiner optischer counter rein...
so in etwa:
:Start
set /a count=count+1
***
goto :Start
kann ich eine bestimmen zeichenzahl anzeigen lassen ?
also wenn COUNT=10 dann soll er 10 Sternchen ausgeben...
ist das irgendwie möglich ?
ich möchte gerne einen counter schreiben...
bin auch so gut wie fertig aber da fehlt noch eine kleingkeit...
das scheme zum zählen sieht so aus:
:Start
set /a count=count+1
goto :Start
So nun soll aber ein kleiner optischer counter rein...
so in etwa:
:Start
set /a count=count+1
***
goto :Start
kann ich eine bestimmen zeichenzahl anzeigen lassen ?
also wenn COUNT=10 dann soll er 10 Sternchen ausgeben...
ist das irgendwie möglich ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 75942
Url: https://administrator.de/forum/symbole-nach-zahlen-anzeigen-75942.html
Ausgedruckt am: 23.12.2024 um 11:12 Uhr
9 Kommentare
Neuester Kommentar
Eine zusätzliche Zeile nach jedem set /a ausführen und die Sterne mit der Variablen ausgeben.
set stern=
:Start
set /a count=count+1
if "%stern%"=="" (set stern=*) else (set stern=%stern%*)
echo %stern%
rem wenn du hier nichts änderst, bist du in einer Endlosschleife
goto :Start
Abend,
eine weitere Möglichkeit wäre statt der IF - Abfrage einfach eine FOR - Schleife benutzen.
Bei der Schleife handelt es sich um eine Zählschleife. Sprich 1 ist der Startwert. Der 2. Parameter ist die Schrittweite. Der Letzte gibt das Maximum an. Allerdings so, wird dir das Ganze zu schnell durchlaufen.
Grüße
Dani
eine weitere Möglichkeit wäre statt der IF - Abfrage einfach eine FOR - Schleife benutzen.
@echo off
:start
set /a count=count+1
for /l %%a in (1,1,%count%) do echo *
goto start
Grüße
Dani
Jetzt musst du nur noch erklären, wie man die Zeilenvorschübe wegbekommt, so dass die Sternchen in einer Zeile bleiben.
@Dani
Hehe, das hatte ich auch schon angedacht. Ich bin nur am Test ohne Batch in der Konsole gescheitert.
Probiere doch mal aus:
Was wird als Wert für stern angezeigt?
Hehe, das hatte ich auch schon angedacht. Ich bin nur am Test ohne Batch in der Konsole gescheitert.
Probiere doch mal aus:
set stern=
set stern=%stern%*
set stern oder
echo %stern%
set stern=%stern%*
set stern oder
echo %stern%
Was wird als Wert für stern angezeigt?
Moin nowologix,
Du solltest auch mal in diesem Thread Batch Zeichenanzahl xyz.txt ermitteln oder Fortschrittsbalken unter Batch realisieren. stöbern.
Obwohl eigentlich die Intension dieses Beitrags war zu belegen, dass es nicht sinnvoll geht.
Für Dein kleines Fortschrittsbälkchen wäre als Strategie auch möglich, die %Stern%-Variable am Anfang in der maximal denkbaren Länge zu definieren (z.B. 20 Zeichen lang) und dann jeweils einen Teilstring anzuzeigen, ohne die Variable selbst neu zu SETzen.
Beispiel am Prompt:
-oder in Deinem Fall/Batch
[Hier im Beispiel mal ohne FOR-Anweisung; hier ist es ja mit "goto :Start" angefangen worden.]
Grüße
Biber
Du solltest auch mal in diesem Thread Batch Zeichenanzahl xyz.txt ermitteln oder Fortschrittsbalken unter Batch realisieren. stöbern.
Obwohl eigentlich die Intension dieses Beitrags war zu belegen, dass es nicht sinnvoll geht.
Für Dein kleines Fortschrittsbälkchen wäre als Strategie auch möglich, die %Stern%-Variable am Anfang in der maximal denkbaren Länge zu definieren (z.B. 20 Zeichen lang) und dann jeweils einen Teilstring anzuzeigen, ohne die Variable selbst neu zu SETzen.
Beispiel am Prompt:
>set stern=***************
>for /L %a in (1,1,10) do @echo !stern:~0,%a!
*
**
***
****
*****
******
*******
********
*********
**********
@echo off & setlocal EnableDelayedExpansion
Set Stern=**********************
Set /a max= 10
:Start
set /a count=count+1
:: hier irgendwas verarbeiten
:: hier irgendwas verarbeiten
cls
echo !stern:~0,%count%!
If %count% GEQ %max% goto :eof
goto :Start
[Hier im Beispiel mal ohne FOR-Anweisung; hier ist es ja mit "goto :Start" angefangen worden.]
Grüße
Biber
Hi,
die Ausgabe sieht so aus:
Direkt aus dem Prompt kopiert....
Grüße
Dani
die Ausgabe sieht so aus:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Dokumente und Einstellungen\rbs>set stern=
C:\Dokumente und Einstellungen\rbs>set stern=%stern%*
C:\Dokumente und Einstellungen\rbs>echo %stern%
%stern%*
C:\Dokumente und Einstellungen\rbs>
Grüße
Dani
Na ja, Dani,
wobei ich dazu noch ergänzen muss, dass das Verhalten mit nicht-definierten Variablen am CMD-Prompt und im Batch unterschiedlich ist. Habe ich schon mal in dem Batch-TutII ("Ein bisschen Handwerkszeug") breitgetreten.
Am CMD-Prompt:
echo %undefinierteVar% --------> führt zur Ausgabe: %undefinerteVar% (als Text 1:1).
Im Batch:
echo %undefinierteVar% --------> führt zur Ausgabe: (nix. Leerstring) .
Insofern würde Dein "immer-einen-*-anhängen" im Batch schon funktioneren.
Dass ich so einen Schrubbelcode hier in "Batch & Shell" niemals gutheißen würde, ist was anderes..
Grüße
Biber
wobei ich dazu noch ergänzen muss, dass das Verhalten mit nicht-definierten Variablen am CMD-Prompt und im Batch unterschiedlich ist. Habe ich schon mal in dem Batch-TutII ("Ein bisschen Handwerkszeug") breitgetreten.
Am CMD-Prompt:
echo %undefinierteVar% --------> führt zur Ausgabe: %undefinerteVar% (als Text 1:1).
Im Batch:
echo %undefinierteVar% --------> führt zur Ausgabe: (nix. Leerstring) .
Insofern würde Dein "immer-einen-*-anhängen" im Batch schon funktioneren.
Dass ich so einen Schrubbelcode hier in "Batch & Shell" niemals gutheißen würde, ist was anderes..
Grüße
Biber