Board logo

标题: [文本处理] [已解决]批处理行内输出空格没生效 [打印本页]

作者: ai20110304    时间: 2018-8-27 21:01     标题: [已解决]批处理行内输出空格没生效

本帖最后由 ai20110304 于 2018-8-29 20:58 编辑

比如:for /l %%i in (1,1,10) do set /p "a=    "<nul

照理说同一行会输出十个空格。为什么没有生效.
用可见字符代替却能输出十个指定的字符。 比如:set /p "a=空"<nul

批处理中空格的转义字符是什么
作者: cfwyy77_bat    时间: 2018-8-28 08:34

本帖最后由 cfwyy77_bat 于 2018-8-28 10:33 编辑

额,楼主从哪知道的  set /p 能输出空格的啊
  1. set /p a=   
复制代码
等号后面是提示字符,  =后面的空格会被吃掉的,提示字符中间有空格是可以的。
输出空格可以试试这个:
  1. echo=                  
复制代码
=后面有空格。
作者: ai20110304    时间: 2018-8-28 09:50

回复 2# cfwyy77_bat


set /p确实直接把空格丢掉。
    如何输出不换行的空格。
作者: ai20110304    时间: 2018-8-28 10:28

回复 2# cfwyy77_bat


    已搞定。。。。看到以前论坛上相关的帖子,陷入深坑set /p。

现在我换掉set /p,采用字符串拼接整好了。
作者: cfwyy77_bat    时间: 2018-8-28 10:37

回复 4# ai20110304
哦 搞定就好。我还真不知道 怎么输出空格不换行 - -!
不清楚你原来真正的需求,有替代的方法就好。
作者: CrLf    时间: 2018-8-28 12:05

xp还可以这么搞,vista之后就不能前缀空格了
作者: ai20110304    时间: 2018-8-28 20:37

回复 6# CrLf


    谢谢高手解惑
作者: WHY    时间: 2018-8-30 18:40

本帖最后由 WHY 于 2018-8-30 18:44 编辑

还有一种办法:在空格前面加上退格符
set /p "=          "<nul




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2