[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理行内输出空格没生效

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

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

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

批处理中空格的转义字符是什么
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

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

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

TOP

回复 6# CrLf


    谢谢高手解惑

TOP

xp还可以这么搞,vista之后就不能前缀空格了
1

评分人数

TOP

回复 4# ai20110304
哦 搞定就好。我还真不知道 怎么输出空格不换行 - -!
不清楚你原来真正的需求,有替代的方法就好。

TOP

回复 2# cfwyy77_bat


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

现在我换掉set /p,采用字符串拼接整好了。

TOP

回复 2# cfwyy77_bat


set /p确实直接把空格丢掉。
    如何输出不换行的空格。

TOP

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

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

评分人数

TOP

返回列表