要将txt文件名写入文件首行并保留源文件,我们可以使用bat脚本来实现。
以下是实现该功能的完整攻略。
1. 获取文件名
我们首先需要获取当前目录下的所有txt文件的文件名。我们可以使用以下代码来获取当前目录下所有txt文件的文件名:
@echo off
setlocal enabledelayedexpansion
for %%i in (*.txt) do (
set "filename=%%~ni"
echo !filename!
)
这段代码首先关闭了echo功能,启用了delayed expansion。然后,使用for循环遍历当前目录下的所有txt文件。对于每个文件,它将使用set命令将文件名存储在变量filename中,然后使用echo命令将变量打印出来。
2. 写入文件首行
接下来,我们需要将txt文件名写入文件首行。我们可以使用以下代码来将文件名写入文件首行:
@echo off
setlocal enabledelayedexpansion
for %%i in (*.txt) do (
set "filename=%%~ni"
set "tempfile=temp.txt"
(
echo !filename! & type "%%i"
) > "!tempfile!" && move /y "!tempfile!" "%%i"
)
在这个代码中,我们使用同样的for循环遍历所有txt文件,但是这次我们使用了另一个变量tempfile来存储中间文件。在一对括号中,我们将文件名写入第一行,然后使用type命令将文件内容追加到temp文件中。最后,我们使用移动命令将temp文件覆盖源文件,并使用/y参数告诉它不需要确认。
示例
假设我们当前目录下有两个txt文件:file1.txt和file2.txt。执行以上脚本后,file1.txt的内容将变为:
file1.txt
这里是文件内容。
而file2.txt的内容将变为:
file2.txt
这是第二个文件的内容。
注意,这个脚本不会备份原始文件,因此在使用之前请确保已经备份需要更改的文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:将txt文件名写入文件首行的bat代码(保留源文件) - Python技术站