Получите несколько мест в пакете

Получите несколько мест в пакете

В PowerShell:

$val = ' '
$val *=5
write-host "[$val]"

Выход — 5 пробелов:[ ]

Но в пакетном режиме:

set "val= "
set /a val*=5
echo [%val%]

Выход равен нулю:[0]

Как я могу получить5 местотодно место(переменная) в пакетном режиме?

решение1

Это также возможно в пакетном режиме, но код будет гораздо менее элегантным, чем в bash.

Вот пример:

@echo off
setlocal enabledelayedexpansion
set "char= "
set number=5
set result=
for /l %%a in (1,1,%number%) do  (set "result=!result!!char!")
echo result="!result!"

Связанный контент