我有这个功能来添加一个新行,我想修改它以添加制表符而不是新行。怎么办呢?
@echo off
Echo Hello & Call:SkipLine 4 & echo StackOverflow & Pause
:SkipLine
For /L %%I In (1,1,%1) Do Echo(
答案 0 :(得分:3)
要编写没有换行符的字符串,请使用set /p
。不幸的是,忽略了前导空格(空格和TAB),因此<nul set /p "=<TAB>"
无效。
这应该做你想要的:
@echo off
setlocal enabledelayedexpansion
Call:SkipLine 4
echo Hello%x%StackOverflow
Pause
exit /b
:SkipLine
set "x="
For /L %%I In (1,1,%1) Do set "x=!x! "
REM ^-- this is a TAB
goto :eof
答案 1 :(得分:2)
这是另一个例子,例如 Stephan
感谢 Walid
@echo off
Call:MyTab 1
echo Salut [%TAB%] Hello
Call:MyTab 5
echo Hi ! [%TAB%] How are you ?
Call:MyTab 10
echo Hello [%TAB%] World !
pause
exit /b
:MyTab
Setlocal EnableDelayedExpansion
set "CHAR="
set "_X9= "
For /L %%I In (1,1,%1) Do set "CHAR=!CHAR!%_X9%"
(
endlocal
set "TAB=%CHAR%"
exit /b
)
答案 2 :(得分:-1)
代码:
@echo off <br>
setlocal EnableDelayedExpansion <br>
set "TAB= " <<<--- put a tab or blank spaces here <br>
echo Hello!TAB!world <br>
echo bye. sjo. <br>