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

Symbole nach zahlen anzeigen ?

Frage Entwicklung Batch & Shell

Mitglied: Nowologix

Nowologix (Level 1) - Jetzt verbinden

13.12.2007, aktualisiert 14.12.2007, 3996 Aufrufe, 9 Kommentare

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 ?
Mitglied: 58502
13.12.2007 um 23:42 Uhr
Eine zusätzliche Zeile nach jedem set /a ausführen und die Sterne mit der Variablen ausgeben.

01.
set stern= 
02.
 
03.
:Start 
04.
set /a count=count+1 
05.
if "%stern%"=="" (set stern=*) else (set stern=%stern%*) 
06.
echo %stern% 
07.
 
08.
rem wenn du hier nichts änderst, bist du in einer Endlosschleife 
09.
 
10.
goto :Start
Bitte warten ..
Mitglied: Dani
14.12.2007 um 00:07 Uhr
Abend,
eine weitere Möglichkeit wäre statt der IF - Abfrage einfach eine FOR - Schleife benutzen.
01.
@echo off 
02.
 
03.
:start 
04.
set /a count=count+1 
05.
for /l %%a in (1,1,%count%) do echo * 
06.
 
07.
goto start
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
Bitte warten ..
Mitglied: 58502
14.12.2007 um 00:31 Uhr
Jetzt musst du nur noch erklären, wie man die Zeilenvorschübe wegbekommt, so dass die Sternchen in einer Zeile bleiben.
Bitte warten ..
Mitglied: Dani
14.12.2007 um 01:30 Uhr
Moin,
Sry...war wohl schon gedanklich im Bett.

Hier die Version 0.2:
01.
@echo off & setlocal 
02.
set stern= 
03.
 
04.
:start 
05.
set /a count+=1 
06.
for /l %%a in (1,1,%count%) do set stern=%stern%* 
07.
echo %stern% 
08.
 
09.
goto start
Getestet unter WindowsXP Professional.


Grüße
Dani
Bitte warten ..
Mitglied: Nowologix
14.12.2007 um 01:46 Uhr
wunderbar läuft alles prima =)


Vielen dank an euch beide !!!
Bitte warten ..
Mitglied: 58502
14.12.2007 um 01:59 Uhr
@Dani

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%

Was wird als Wert für stern angezeigt?
Bitte warten ..
Mitglied: Biber
14.12.2007 um 08:32 Uhr
Moin nowologix,

Du solltest auch mal in diesem Thread ...Fortschrittsbalken unter Batch 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:
01.
>set stern=*************** 
02.
>for /L %a in (1,1,10) do @echo !stern:~0,%a! 
03.
04.
** 
05.
*** 
06.
**** 
07.
***** 
08.
****** 
09.
******* 
10.
******** 
11.
********* 
12.
**********
-oder in Deinem Fall/Batch
01.
@echo off & setlocal EnableDelayedExpansion 
02.
Set Stern=********************** 
03.
Set /a max= 10 
04.
:Start 
05.
set /a count=count+1 
06.
:: hier irgendwas verarbeiten  
07.
:: hier irgendwas verarbeiten  
08.
cls 
09.
echo !stern:~0,%count%! 
10.
 
11.
If %count% GEQ %max% goto :eof 
12.
goto :Start
[Hier im Beispiel mal ohne FOR-Anweisung; hier ist es ja mit "goto :Start" angefangen worden.]

Grüße
Biber
Bitte warten ..
Mitglied: Dani
14.12.2007 um 11:22 Uhr
Hi,
die Ausgabe sieht so aus:
01.
Microsoft Windows XP [Version 5.1.2600] 
02.
(C) Copyright 1985-2001 Microsoft Corp. 
03.
 
04.
C:\Dokumente und Einstellungen\rbs>set stern= 
05.
 
06.
C:\Dokumente und Einstellungen\rbs>set stern=%stern%* 
07.
 
08.
C:\Dokumente und Einstellungen\rbs>echo %stern% 
09.
%stern%* 
10.
 
11.
C:\Dokumente und Einstellungen\rbs>
Direkt aus dem Prompt kopiert....


Grüße
Dani
Bitte warten ..
Mitglied: Biber
14.12.2007 um 12:33 Uhr
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
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Server
gelöst Powershell: Alle User anzeigen, die Zugriff auf einen Share haben (3)

Frage von bensonhedges zum Thema Windows Server ...

Outlook & Mail
gelöst Outlook 2013 - Teilnehmer in Termin anzeigen (4)

Frage von xbast1x zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...