如何删除echo创建的额外空间



我正在尝试输入密码并将其存储在文件中,以便稍后由我创建的自动python程序使用。

我使用一个批处理文件专门为此。下面是代码:

echo Enter new email address to be stored: 
set /p email=
echo Enter in password for the email address:
set /p password=
echo %email% >> email_list.txt
echo %password >> pass_list.txt

我遇到的问题是,它会将我写的任何内容输入到新文件中,除了它后面会有一个额外的空间。

例如:

我要"Password123"而我得到的却是"Password123"。

我已经尝试引用变量,但它只是在引号中输出数据(仍然有额外的空间)。

一个简单的问题,我敢肯定,但有人能帮我吗?事实证明,当我的程序输入密码时,这会导致问题。由于额外的空间,密码被认为是"不正确的"。

原来空格来自命令echo %email% >> file.txt

更具体地说"echo %email% ">

所以解是echo %email%>> file.txt

对于其他遇到这个问题的人来说,一个简单的方法是,而不是

echo This is error text. 2>&1

使用

(echo This is error text.) 2>&1