我有这个函数来添加一个新行,我想修改它来添加一个制表符而不是一个新行。如何做到这一点?
@echo off
Echo Hello & Call:SkipLine 4 & echo StackOverflow & Pause
:SkipLine
For /L %%I In (1,1,%1) Do Echo(
要编写不换行的字符串,使用set /p
。不幸的是,前导空格(空格和制表符)被忽略,因此<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
这是另一个例子,就像由Stephan
Thanks to 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
)
代码:
@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>