首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Windows批处理:回显,不换行

Windows批处理:回显,不换行
EN

Stack Overflow用户
提问于 2011-08-18 17:46:34
回答 12查看 281K关注 0票数 255

什么是与Linux shell命令echo -n等同的Windows批处理命令,该命令会抑制输出末尾的换行符?

其思想是在循环内的同一行上编写代码。

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2011-08-18 18:05:29

使用set/p参数,无需换行符即可回显:

C:\> echo Hello World
Hello World

C:\> echo|set /p="Hello World"
Hello World
C:\>

Source

票数 269
EN

Stack Overflow用户

发布于 2012-07-05 08:57:23

使用:echo | set /p=<NUL set /p=都可以抑制换行符。

但是,当编写更高级的脚本时检查ERRORLEVEL变得非常重要,因为设置set /p=而不指定变量名会将ERRORLEVEL设置为1,这可能是非常危险的。

一种更好的方法是使用一个虚拟变量名,如下所示:

echo | set /p dummyName=Hello World

这将准确地产生你想要的东西,而不会在后台发生任何偷偷摸摸的事情,因为我不得不艰难地找出,但这只适用于管道版本;<NUL set /p dummyName=Hello仍然会将ERRORLEVEL提高到1。

票数 123
EN

Stack Overflow用户

发布于 2012-12-19 04:40:01

您可以使用"tr“从gnuwin32 (coreutils包)中删除换行符

@echo off
set L=First line
echo %L% | tr -d "\r\n"
echo Second line
pause

顺便说一句,如果你正在编写大量的脚本,gnuwin32就是一座金矿。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7105433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档