批处理脚本echo输出到txt文件时如何去除尾随空格
解决批处理脚本中echo输出尾随空格的问题
兄弟,我太懂你被批处理里的尾随空格坑得烦躁的感觉了!试了调整空格位置还是没用?别慌,给你几个亲测有效的解决办法:
先从根源避免变量带空格
很多时候问题出在变量定义环节!如果定义变量时没加引号,不小心在值后面敲了空格,那变量本身就带空格了。一定要用这种方式定义变量:set "lastname=Smith"引号能确保变量值就是你写的内容,不会把后面的空格也算进去。
用延迟变量精准输出
普通的%变量%在输出时偶尔会因为解析问题带空格,开启延迟变量扩展后用!变量!输出就稳多了,还能避免变量为空时的异常:@echo off setlocal enabledelayedexpansion set "lastname=Smith" echo(!lastname!>lastname.txt endlocal这里的
echo(是个小技巧,能防止变量为空时输出ECHO is off.的尴尬情况。用set /p写入(可选,适合不需要换行的场景)
如果你的需求是把变量内容无换行、无空格地写入文件,set /p比echo更靠谱,它不会自动加换行,也不会引入多余空格:set "lastname=Smith" <nul set /p="%lastname%">lastname.txt要是需要换行的话,后面补一句
echo.>>lastname.txt就行。
按这几步来,你的lastname.txt里肯定只会干干净净的Smith,再也没有讨厌的尾随空格啦!
内容的提问来源于stack exchange,提问作者Dylan Russell
相关产品推荐
相关产品推荐

