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, 736 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Frage von sugram zum Thema Batch & Shell ...

VB for Applications
Dateien nach "Text" durchsuchen und Pfad ausgeben (32)

Frage von chgs2011 zum Thema VB for Applications ...

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

Frage von Luuke257 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...

Peripheriegeräte
Wlan stört Funkmaus (11)

Frage von Falaffel zum Thema Peripheriegeräte ...

Peripheriegeräte
gelöst USB Festplatte verliert Laufwerksbuchstabe (9)

Frage von cese4321 zum Thema Peripheriegeräte ...