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, 768 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
Batch & Shell
gelöst Batch ausgabe zeilenweise stat spaltenweise ausgeben (4)

Frage von sugram zum Thema Batch & Shell ...

Batch & Shell
Wert aus batch in externe txt-Datei oder Zwischenablage? (2)

Frage von Yannxck1 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

iOS
16 iPads zentrall verwalten (14)

Frage von simonlohr zum Thema iOS ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...