批量“echo|set/p=”在行尾添加一个空格

问题描述 投票:0回答:1

使用“echo|set/p=”打印没有回车换行的行时遇到了一些麻烦。也就是说,我在创建的文本末尾出现了不需要的空格,但我还没有找到删除它的方法。

示例: 在批处理命令行中运行

echo TEST>>TEST.TXT
会生成一个包含 TEST 的文件,后跟回车符和换行符。

在批处理命令行中运行

echo|set/p=TEST>>TEST.TXT
会给出一个文件,其中包含 TEST 后跟一个空格字符,但没有回车或换行。

这个神秘的空间从何而来,有什么方法可以去除吗?

batch-file
1个回答
0
投票

相反,你应该使用

<nul set /p "=Test" >> test.txt

差异是:

  • <nul
    而不是
    echo |
    nul 只是一个空重定向,但带有管道的 ECHO 会创建两个新的 cmd.exe 实例
  • 使用管道可以在两侧创建一些神奇的命令重新排序
  • 使用引号以避免不需要的空格或特殊字符的问题
© www.soinside.com 2019 - 2024. All rights reserved.