![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
如何用批处理在多个txt文件中的第五行行首添加字符“TAB” 255
N个文件,现在需要在每个文件的第五行前面添加TAB三个字母格式如下:1.0000000.0000000.000000-1.00000045782133.000000444...
N个文件,现在需要在每个文件的第五行前面添加TAB三个字母格式如下:
1.000000
0.000000
0.000000
-1.000000
45782133.000000
44444444.000000
变成
1.000000
0.000000
0.000000
-1.000000
TAB45782133.000000
44444444.000000 展开
1.000000
0.000000
0.000000
-1.000000
45782133.000000
44444444.000000
变成
1.000000
0.000000
0.000000
-1.000000
TAB45782133.000000
44444444.000000 展开
2个回答
展开全部
不清楚你的实际文件/情况,仅以问题中的样例/说明为据
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
<# :
cls
@echo off
rem 在多个txt文本文件的指定行开头行首位置插入指定字符串内容
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~dp0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$path=$args[0];
$line=5;
$addword='TAB';
$newfolder=$path+'#result';
if(-not (test-path -liter $newfolder)){[void](md $newfolder)};
$enc=[Text.Encoding]::Default;
$files=@(dir -liter $path|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
write-host $files[$i].Name;
$text=[IO.File]::ReadAllLines($files[$i].FullName, $enc);
if($text.count -ge $line){$text[$line-1]=$addword+$text[$line-1];};
[IO.File]::WriteAllLines($newfolder+'\'+$files[$i].Name, $text, $enc);
}
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
<# :
cls
@echo off
rem 在多个txt文本文件的指定行开头行首位置插入指定字符串内容
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~dp0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$path=$args[0];
$line=5;
$addword='TAB';
$newfolder=$path+'#result';
if(-not (test-path -liter $newfolder)){[void](md $newfolder)};
$enc=[Text.Encoding]::Default;
$files=@(dir -liter $path|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
write-host $files[$i].Name;
$text=[IO.File]::ReadAllLines($files[$i].FullName, $enc);
if($text.count -ge $line){$text[$line-1]=$addword+$text[$line-1];};
[IO.File]::WriteAllLines($newfolder+'\'+$files[$i].Name, $text, $enc);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询