Batch file 批量禁用ECHO命令后的换行符

Batch file 批量禁用ECHO命令后的换行符,batch-file,file-io,Batch File,File Io,我有一个批处理文件,它执行以下操作以写入文件: echo @echo off> start.bat echo cd %USERPROFILE%\Desktop\BukkitServer>> start.bat echo java -Xmx1024M -jar craftbukkit.jar -o true>> start.bat 唯一的问题是它在文件“start.bat”的末尾添加了一个空行。我想知道如何从同一批处理文件中删除该空行。这是: echo @echo

我有一个批处理文件,它执行以下操作以写入文件:

echo @echo off> start.bat
echo cd %USERPROFILE%\Desktop\BukkitServer>> start.bat
echo java -Xmx1024M -jar craftbukkit.jar -o true>> start.bat
唯一的问题是它在文件“start.bat”的末尾添加了一个空行。我想知道如何从同一批处理文件中删除该空行。

这是:

echo @echo off> start.bat
echo cd %USERPROFILE%\Desktop\BukkitServer>> start.bat
echo|set /p="java -Xmx1024M -jar craftbukkit.jar -o true">> start.bat
我只是用
echo | set/p=
替换了最后一个
echo
,以避免在末尾出现新行

或者,对于最后一行,您也可以使用:

<nul set /p =java -Xmx1024M -jar craftbukkit.jar -o true>> start.bat
>start.bat

在这里,您将得到相同的结果,但在其他情况下,它似乎更可靠(请参见)

此动态生成的目的是什么(与保留静态副本相比)?我能看到的主要区别是,由于第一个脚本的计算结果是
%USERPROFILE%
,如果
%USERPROFILE%
的实际值稍后更改,第二个脚本可能会停止工作。它不会添加一个空行。它只在最后一行结束-和每隔一行一样。你对此有什么问题?你对给出的答案满意吗?如果是这样,请将其标记为已接受(请参阅),或留下评论,告诉我们哪里不对。为什么要投否决票?这代码不管用吗?我已经测试过了,它对我有效(Win7)…在我的MBP上对我有效-没有任何评论,我正在平衡投票结果:
@echo off cd%USERPROFILE%DesktopBukkitServer
当我这样做时,它会用空格替换新行。@snuggles08你是对的,我已经修复了我的答案:你应该在最后一行使用引号(“):
/p=”…..“>>
@snuggles08您对给出的答案满意吗?如果满意,请将其标记为已接受(请参阅),或留下评论,告诉我们问题所在。