如何编写批处理函数来添加制表符?

时间:2015-07-06 18:44:42

标签: batch-file

我有这个功能来添加一个新行,我想修改它以添加制表符而不是新行。怎么办呢?

@echo off
Echo Hello & Call:SkipLine 4 & echo StackOverflow & Pause
:SkipLine
For /L %%I In (1,1,%1) Do Echo( 

3 个答案:

答案 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>