回显到文件会导致批处理中出现空格

时间:2013-10-03 01:11:48

标签: windows batch-file spaces

使用批处理文件(.bat),我正在创建一个需要动态路径的脚本,以便它可以在多台计算机上运行。我的问题是当我向文件回显某些内容时,它会添加一行和一个返回的托架。

假设我在批处理文件的目录中有一个名为foo.txt的文本文件,其内容完全为空。

在批处理文件中,我运行:

echo test > foo.txt

foo.txt的内容将是:

L1: foo

L2: 

第一行foo后面会有一个空格,第二行空行。现在,这将是完全可以的,我会完全忽略它,但文件名路径不会忽略它。

从foo.txt导入文本,如下所示:

set /p foo=< foo.txt

......然后:

set /p name=< C:\A.D.V.E.N.T.U.R.E.\test\%foo%\test2.txt

......将被解释为:

set /p name=< C:\A.D.V.E.N.T.U.R.E.\test\foo \test2.txt

包含不需要的空间。反正有没有这样你可以写文本到没有空格的文件,或者可以用来删除回车和空格的命令?

3 个答案:

答案 0 :(得分:4)

您还可以使用括号确保输出中不包含不需要的空格:

(echo test)      >foo.txt

答案 1 :(得分:2)

数据应为test,而不是foo

Clasically,试试

>foo.txt echo test

但请确保test之后没有尾随空格。

(APPEND to foo.txt使用>>代替>

答案 2 :(得分:0)

以上给出的答案有效。 但是,我发现它的真正原因是>之前的空格 所以,而不是

echo test > foo.txt

必须是

echo test> foo.txt

注意。在test和>之间不要留任何空格。这会导致尾随空格。