0

使用批处理文件 (.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

包括不需要的空间。有没有办法让你可以将文本写入没有空格的文件,或者可以用来删除回车和空格的命令?

4

3 回答 3

4

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

(echo test)      >foo.txt
于 2013-10-03T03:13:10.847 回答
2

数据应该是test,不是foo

经典地,尝试

>foo.txt echo test

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

(到foo.txtAPPEND>>代替>

于 2013-10-03T01:47:34.057 回答
0

以上给出的答案有效。但是,我发现它的实际原因是> So 之前的空间,而不是

echo test > foo.txt

肯定是

echo test> foo.txt

笔记。不要在 test 和 > 之间放置任何空格。这会导致尾随空格。

于 2019-11-02T15:14:59.713 回答