标题: [文本处理] 如何批量处理一个文件夹指定行数的特殊字符的删减问题 [打印本页]
作者: jsqwert 时间: 2020-2-13 17:26 标题: 如何批量处理一个文件夹指定行数的特殊字符的删减问题
所有文件都会以这开头,第19行会不定时出现一个上箭头符号,怎么自动处理一个文件夹里的文件,另外文件最后如未是箭头就要删除箭头后面的空格
要更改成去掉箭头
也可以换成空格
要更改成去掉最后有箭头的空格
文件
作者: jsqwert 时间: 2020-2-13 21:00
补充下,前面段可用空格 替换箭头符号, 末尾处,如有箭头需删除箭头后的空格,如无箭头符号即 无需删除末尾的空格。
作者: Batcher 时间: 2020-2-14 08:55
回复 1# jsqwert
请把1.txt和11.txt打包压缩传上来
作者: xczxczxcz 时间: 2020-2-14 12:52
你要把那个 箭头 发上来 让人家复制用啊。
作者: jsqwert 时间: 2020-2-17 15:17
回复 3# Batcher
已经放 上两个文件
作者: zaqmlp 时间: 2020-2-20 14:43
修改原文件,注意备份- <# :
- cls
- @echo off
- set info=互助互利,支付宝扫码头像,感谢打赏
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- set "rootpath=%~dp0"
- if "%rootpath:~-1%" equ "\" (set "rootpath=%rootpath:~,-1%")
- cd /d "%rootpath%"
- powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%rootpath%'"
- echo;%info%
- pause
- exit
- #>
-
- $n=19;
- $files=@(dir -liter $args[0]|?{(@('.txt') -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])});
- for($i=0;$i -lt $files.length;$i++){
- write-host $files[$i].Name;
- $text=[IO.File]::ReadAllText($files[$i].FullName, [Text.Encoding]::Default);
- $text=$text -replace '(?<=\x0C)\s+$','';
- $text=$text -split '\n';
- if($text.length -ge $n){$text[$n-1]=$text[$n-1] -replace '\x0C','';};
- $text=$text -join "`n";
- [IO.File]::WriteAllText($files[$i].FullName, $text, [Text.Encoding]::Default);
- }
复制代码
作者: jsqwert 时间: 2020-2-21 10:36
回复 6# zaqmlp
如是要指定文件路径,应修改那里呢?
作者: zaqmlp 时间: 2020-2-21 13:54
回复 7# jsqwert
没赞助没动力
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |