标题: [文本处理] [已解决]如何用批处理在文本中添加内容? [打印本页]
作者: czvde 时间: 2022-3-14 18:57 标题: [已解决]如何用批处理在文本中添加内容?
本帖最后由 czvde 于 2022-3-16 17:21 编辑
“a.txt”内容:
4569
二一二零
8798
0123456零零一一
一三二=+123
“b.txt”内容:
456一一一一一
4587779879零零一一123579sf的
98746541819
二一二零1125646464
bat执行效果:
“a.txt”内容:
4569
二一二零
a
8798
0123456a
零零一一
一三二=+123
“b.txt”内容:
456一一一一一
4587779879b
零零一一123579sf的
98746541819
二一二零
b1125646464
已解决!!
作者: for_flr 时间: 2022-3-16 15:50
- #@&cls&powershell -c "gc '%~0'|out-string|iex"&pause&exit /b
- dir -filter *.txt|%{
- $txt=@()
- $name=$_.basename
- gc $_|%{
- switch -regex($_){
- "零零一一" {
- $idx=$_.indexof($matches[0])
- $txt+=$_.substring(0,$idx)+$name
- $txt+=$_.substring($idx)
- }
- "二一二零" {
- $idx=$_.indexof($matches[0])
- $txt+=$_.substring(0,$idx)+$matches[0]
- $txt+=$name+$_.substring($idx+4)
- }
- default {$txt+=$_}
- }
- }
- sc $_ $txt
- }
复制代码
跟txt文本放同一层目录,测试前先备份txt。
作者: WHY 时间: 2022-3-16 22:43
- @echo off
- setlocal enabledelayedexpansion
- set LF=^
-
-
- for /f %%i in ('copy /z "%~f0" nul') do set "CRLF=%%i!LF!"
- for %%i in (*.txt) do (
- (for /f "delims=" %%j in ('type "%%i"') do (
- set "s=%%j"
- for %%k in ("!CRLF!") do (
- set "s=!s:二一二零=二一二零%%~k%%~ni!"
- set "s=!s:零零一一=%%~ni%%~k零零一一!"
- )
- echo;!s!
- )) > "%%i.Log"
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |