所以我想要一个基本上是空格或任何空字符的变量。这将允许我显示一个空表,如:
#########
# #
# #
# #
#########
但我能得到的只有:
#########
##
##
##
#########
有什么特殊的角色可以做我需要的吗?我环顾四周,看到你可以将BackSpace分配给变量,但就是这样。也许我不善于寻找,但我无法找到解决方案。
答案 0 :(得分:2)
变量需要分隔。这可以通过使用引号来完成。
SET "ASPACE= "
答案 1 :(得分:2)
您可以使用" "实现这个目标
set "x= "
答案 2 :(得分:2)
set /p
吃领先的空间。这可能符合您的需求吗?
@echo off
setlocal enabledelayedexpansion
set "x="
for /L %%i in (1, 1, 12) do set "x=!x! "
echo ##############
echo #%x%#
echo #%x%#
echo ##############
这会在回显它之前组合的空格字符串。
替代:
@echo off
set "x= "
echo #%x:~0,12%#
这会从一长串空格中获取所需长度的子字符串(应该更快)
如果你想更灵活:
@echo off
setlocal enabledelayedexpansion
set "spaces= "
set "border=###########################################"
set len=12
echo #!border:~0,%len%!#
echo #!spaces:~0,%len%!#
echo #!spaces:~0,3!Hello.!spaces:~0,3!#
echo #!spaces:~0,%len%!#
echo #!border:~0,%len%!#
答案 3 :(得分:1)
尝试更新的代码,它将执行所需的
@echo off
set a=######
set b=#
set "c= "
echo %a%
echo %b%%c%%c%%c%%c%%b%
echo %b%%c%%c%%c%%c%%b%
echo %b%%c%%c%%c%%c%%b%
echo %b%%c%%c%%c%%c%%b%
echo %a%
pause
如果你想要一个更大的表,那么输入就需要一点,所以我们可以使用循环
尝试以下代码
@echo off
set a=######
set b=#
set "c= "
for /L %%j in (1,1,1) do (
echo %a%
for /L %%i in (1, 1, 5) do ( echo %b%%c%%c%%c%%c%%b%)
echo %a%
)
pause