Windows 批处理脚本在文件夹中每个文本文件的第一行添加字符

Windows 批处理脚本在文件夹中每个文本文件的第一行添加字符

我需要这方面的帮助。

我是 bat 文件的新手。我想将一些文本文件放入 Windows 桌面上的一个文件夹中。在该文件夹中,我希望有一个可对这些文本文件运行的 bat 文件。我希望 bat 文件所做的就是将字符“$$”(不带引号,$$ 后有一个空格)添加到现有的第一行,保存文件,然后循环遍历文件夹中的其余文件。

到目前为止我有以下内容:

@echo off
set "$New_line=$$ "
for /R "C:\Desktop\TEXT\" %%A in (*.txt) do (
  > "%%~dpANew_%%~nxA" echo %$New_line%
  type "%%A" >> "%%~dpANew_%%~nxA"
  del "%%A" 2>nul
  ren "%%~dpANew_%%~nxA" "%%~nxA"
)

但是它添加了一行,其中包含我需要的字符。我不想添加一行,而是在现有的第一行前面添加字符。

答案1

如何echo在字符串中添加 CR/LF?

> "%%~dpANew_%%~nxA" echo %$New_line%

您可以使用以下构造:

<nul (set/p _any_variable=string to emit)

来源:Echo - Windows CMD - SS64.com

因此,对于你来说,情况应该是这样的:

> "%%~dpANew_%%~nxA" (set/p _any_variable=%$New_line%)

进一步阅读

相关内容