batch-file - 批处理 : delete line feed from end of text file?

标签 batch-file carriage-return linefeed

我有一个 .txt 文件,我需要删除最后一个换行符。 在十六进制编辑器中查看该文件,它在末尾显示“0d 0a”。

我查看了线程 How to delete Linefeed using batch file但这没有帮助。 我已经尝试过 COPY source target/b ,但这也没有帮助。

遗憾的是,我无法使用 Java 或任何第三方工具,我需要使用批处理文件。

如何去掉最后的换行符?

最佳答案

使用批处理应该可以工作。

@echo off
setlocal DisableDelayedExpansion
set "firstLineReady="
(
    for /F "eol=$ delims=" %%a in (myFile.txt) DO (
        if defined firstLineReady (echo()
        set "firstLineReady=1"
        <nul set /p "=%%a"
    )
) > out.txt

它复制所有行并在每行附加 CR/LF,但不附加到最后一行

关于batch-file - 批处理 : delete line feed from end of text file?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6254067/

相关文章:

windows - 如何将变量从 Windows 批处理文件传递到 SQL*Plus

c - 如何重定向stdout并在同一行打印 '\r'?

c - 《Head First C》一书中demo中的一个strstr()和fgets()的问题

security - 如何避免 Logback 中的 CRLF(回车换行) - CWE 117

python - '\n' == 'posix' , '\r\n' == 'nt' (python) 对吗?

python - 在 Windows 下如何共享日志文件?

image - 如何使用 PNGQUANT 执行批量 PNG 压缩并将所有转换后的图像及其源名称保存到另一个文件夹?

batch-file - 如何以固定的时间间隔(例如2小时)运行批处理文件中的一段代码,然后继续执行剩余的代码?

PHP/MySQL : UPDATE Statement containing carriage returns or new lines

matlab - 在 Matlab 中使用 dlmwrite( ) 将数组值写入文件时没有回车符