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

Batch: text mit fester Länge am Bildschirm ausgeben

Frage Entwicklung Batch & Shell

Mitglied: joemouth

joemouth (Level 1) - Jetzt verbinden

07.01.2015, aktualisiert 13:35 Uhr, 778 Aufrufe, 2 Kommentare, 1 Danke

Hallo Freunde der gepflegten Batchprogrammierung,

ich möchte Text aus SET Variablen mit fester Länge per echo ausgeben.

Ziel ist es, so etwas wie eine Tabelle auf dem Bildschirm anzuzeigen.

%I:~n,m% kenne ich, um Teilstrings zu ermitteln.

echo %I:~0,10%
Ergibt eine Ausgabe mit maximal 10 Zeichen, nur wenn der Text kleiner als 10 Zeichen lang ist, wird auch weniger ausgegeben.

Wie erreiche ich in meinem Beispiel, dass der Text immer 10 Zeichen lang ist, also ggfs. mit Blanks aufgefüllt wird o.ä.?

Vielen Dank für Eure Hilfe

Mitglied: colinardo
LÖSUNG 07.01.2015, aktualisiert um 13:35 Uhr
Hallo joemouth,
z.B. so (die Leerzeichen sind, damit sie in der Demo sichtbar sind, durch Punkte ersetzt, das kannst du in Zeile 22 ganz am Ende anpassen)
01.
@echo off & setlocal enabledelayedexpansion 
02.
set fixedlength=10 
03.
set "var1=Test" 
04.
set "var2=1234567890123" 
05.
set "var3=12345678" 
06.
 
07.
call :makefixed var1 
08.
call :makefixed var2 
09.
call :makefixed var3 
10.
echo %var1% 
11.
echo %var2% 
12.
echo %var3% 
13.
goto :eof 
14.
 
15.
:makefixed 
16.
set padd= 
17.
call :strLength strLen "!%1!" 
18.
if %strLen% GTR %fixedlength% ( 
19.
	set "%1=!%1:~0,%fixedlength%!" 
20.
) else ( 
21.
  set /a spaces=%fixedlength%-!strLen! 
22.
  for /l %%a in (1 1 !spaces!) do set "padd=!padd!." 
23.
  set "%1=!%1!!padd!" 
24.
25.
goto :eof 
26.
 
27.
:strLength 
28.
set "#=%~2" 
29.
set length=0 
30.
:stringLengthLoop 
31.
if defined # (set #=%#:~1%&set /A length += 1&goto stringLengthLoop) 
32.
set "%~1=%length%" 
33.
goto :eof
Grüße Uwe
Bitte warten ..
Mitglied: joemouth
07.01.2015 um 13:36 Uhr
Perfekt, Danke Dir!
Bitte warten ..
Ähnliche Inhalte
C und C++
gelöst Morsecode in map speichern und text in morsecode ausgeben (13)

Frage von How-To zum Thema C und C ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch ausgabe zeilenweise stat spaltenweise ausgeben (4)

Frage von sugram zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (18)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...