So richten Sie Leerzeichen in der CMD-Codeausgabe aus

So richten Sie Leerzeichen in der CMD-Codeausgabe aus

Mein Batchcode:

@echo off
set phones="iPhone 12" "Galaxy S5 4G" "Nokia 7"
set manufs=US "South Korea" Finland
SetLocal EnableDelayedExpansion
set n=& for %%a in (%phones%) do set /a n+=1& set phone[!n!]=%%~a
set n=& for %%a in (%manufs%) do set /a n+=1& set manuf[!n!]=%%~a
for /L %%a in (1 1 %n%) do echo !phone[%%a]! : !manuf[%%a]!
pause 

Ausgabe:

iPhone 12 : US
Galaxy S5 4G : South Korea
Nokia 7 : Finland

So richten Sie Leerzeichen/Tabulatoren vor : aus, sodass es folgendermaßen aussieht:

iPhone 12    : US
Galaxy S5 4G : South Korea
Nokia 7      : Finland

Aktualisierung 1<<30.03.2024>>

Ich habe diese Methode gefunden und sie funktioniert einwandfrei.

@echo off
set HPs="iPhone 12" "Galaxy S5 4G" "Nokia 7"
set CTs=US "South Korea" Finland
SetLocal EnableDelayedExpansion
set n=& for %%a in (%HPs%) do set /a n+=1& set HP[!n!]=%%~a
set n=& for %%a in (%CTs%) do set /a n+=1& set CT[!n!]=%%~a
set n=& for %%a in (%HPs%) do (
    set /a n+=1& set $HP=%%~a
    for /L %%i in (0 1 12) do if "!$HP:~%%i,1!" NEQ "" set Len=%%i
    set Len[!n!]=!Len!& set Lens=!Lens! !Len!
)
for %%a in (!Lens!) do (if not defined max Set max=%%a
if %%a GTR !max! Set max=%%a)
set "space= "& for /L %%a in (1 1 !max!) do set Spaces=!Spaces!!space!

rem Finally
CLS& for /L %%V in (1 1 %n%
) do call echo !HP[%%V]! %%Spaces:~!Len[%%V]!%%: !CT[%%V]!
pause

Ausgabe:

iPhone 12    : US
Galaxy S5 4G : South Korea
Nokia 7      : Finland

Vielleicht kann jemand Code einfacher und schneller schreiben

verwandte Informationen