我在某个文件夹中有 3 个文本文件,
A.txt
B.txt
C.txt
hello
我喜欢使用批处理文件在特定文件夹中的所有文本文件中输入单词。
我在尝试,
@echo off
echo hello>>*.txt
不幸的是,它不起作用。请指导我如何正确操作。
我喜欢这样的输出,
hello
在文件中A.txt
hello
在文件中B.txt
hello
在文件中C.txt
答案1
Microsoft Windows [版本 10.0.17134.648]
附加 hello 和批处理:
for %%f in (A.txt B.txt C.txt) do echo hello>>%%f
使用命令行附加 hello:
for %f in (A.txt B.txt C.txt) do echo hello>>%f
使用批处理将 hello 附加到目录中的所有 .txt 文件中。如果路径/文件名中有空格则有效:
for /f "tokens=*" %%f in ('dir /b path-to-parent-folder-with-or-without-double-quotes\*.txt') do echo hello>>%%f
使用命令行将 hello 附加到目录中的所有 .txt 文件。如果路径/文件名中有空格则有效:
for /f "tokens=*" %f in ('dir /b path-to-parent-folder-with-or-without-double-quotes\*.txt') do echo hello>>%f
答案2
要添加hello
到文件夹中的每个文本文件,可以使用 For 循环/r
:
@echo off
set "src=C:\your\folder"
for /r "%src%" %%A in (*.txt) do (
echo hello >> "%%~fA"
)
*.txt
对于每个位于源 ( ) 目录的文本文件 ( ) src
:设置为参数并在末尾%%A
添加行。是参数的完全限定路径名(包括扩展名)。hello
%%~fA
%%A
要将其限制为仅三个文件(A.txt,B.txt 和 C.txt),您可以指定这些文件而不是使用上面的通配符 - 它看起来像这样:
@echo off
set "src=C:\your\folder"
for /r "%src%" %%A in (A.txt B.txt C.txt) do (
echo hello >> "%%~fA"
)
无论哪种方式 - 如果您瞄准的是特定文件夹,for /r
那么这就是您要寻找的。