使用批处理文件(.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
包含不需要的空间。反正有没有这样你可以写文本到没有空格的文件,或者可以用来删除回车和空格的命令?
答案 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和>之间不要留任何空格。这会导致尾随空格。