批处理文件:为目录中所有文件的所有行添加前缀

时间:2014-03-31 10:37:48

标签: string file batch-file line prefix

我在目录D:\ test中有一个文件列表,我想通过使用批处理文件向D:\ test中每个文件的每一行添加前缀BLA_。完成此过程后,文件可以移动到D:\ test \ processed \,文件名也应该更改为BLA_file名称。

这听起来并不困难,但我没有设法创建一个工作批处理文件。希望有人可以帮助我!

提前致谢!

2 个答案:

答案 0 :(得分:0)

建议

sed -i "s/^/BLA_/" D:\Test\*
for %%a in (D:\Test\*) do move "%%~a" "D:\test\processed\BLA_%%~a"

答案 1 :(得分:0)

@echo off

    setlocal enableextensions disabledelayedexpansion

    set "inputFolder=d:\test"
    set "outputFolder=%inputFolder%\processed"

    for %%a in ("%inputFolder%\*"
    ) do (for /f "tokens=1,* delims=:" %%b in (
        'findstr /n "^" "%%~fa" ^& del /q "%%~fa" ^>nul 2^>nul'
    ) do (echo BLA_%%c))>"%outputFolder%\BLA_%%~nxa"

    endlocal

对于输入文件夹中的每个文件,读取输入文件,删除输入文件,并为所选输入文件中的每一行(findstr /n用于避免空行跳过),将带有前缀的行回显到输出文件。