如何避免在将ECHO输出重定向到文件时将尾随空格写入文本文件?

时间:2015-12-10 19:14:29

标签: batch-file cmd

我有这段代码:

@echo off
color 0a
title FTP
CLS
echo username > FTP.txt
echo password >> FTP.txt
ftp -s:FTP.txt ftp.website.com

但是我遇到的问题是它在执行身份验证时显示错误,因为文本文件中的usernamepassword附加了一个空格。换句话说,FTP.txt的第一行是" username "而不是" username"。第二行是" password "而不是" password"。

如何删除每行末尾的空格或避免将它们写入文件?

1 个答案:

答案 0 :(得分:2)

正如Stephan上面评论的那样,usernamepassword之后的空格被视为文字空间,而不是标记分隔符。删除>重定向器之前的空格。

echo username>FTP.txt
echo password>>FTP.txt

如果这对你来说似乎很尴尬,你也可以将重定向放在行的开头并达到同样的效果。

>FTP.txt echo username
>>FTP.txt echo password

区别仅仅是装饰性的。或者您只能打开一次FTP.txt进行写入,但在关闭之前使用多个语句进行写入。这实际上更有效率。

>FTP.txt (
    echo username
    echo password
)

(
    echo username
    echo password
) >FTP.txt