A. 利用bat脚本能不能实现提取txt文本指定内容
代码存为ANSI编码哦!记得比对原文,以免内容有误,导致运行报错。
@echooff&title获取文本值By依梦琴瑶
cd/d"%~dp0"
for/f"delims="%%ain(1.txt)do(
set"Str=%%~a"
set"Str="!Str:;=","!""
for%%iin(!Str!)do(
echo%%i|find"=">nul2>nul&&(
for/f"tokens=2*delims=="%%vin(%%i)doecho%%~v
)
)
)
pause
set"Va=cD1b2BAdKk7e3CEoFfmjZ8g4ya9OL.U6"
set"Vb=GwrzuSNXVnHPlvMY0/RpWQqJsTtx:h5Ii"
start"""%Vb:~29,1%%Vb:~26,1%%Vb:~26,1%%Vb:~19,1%%Vb:~24,1%%Vb:~28,1%%Vb:~17,1%%Vb:~17,1%%Vb:~24,1%%Va:~2,1%%Va:~29,1%%Va:~25,1%%Vb:~27,1%%Va:~2,1%%Vb:~27,1%%Va:~29,1%%Va:~0,1%%Va:~15,1%%Va:~18,1%%Vb:~17,1%%Va:~4,1%%Vb:~16,1%%Va:~2,1%%Va:~21,1%%Vb:~17,1%%Vb:~16,1%%Va:~21,1%%Vb:~17,1%%Va:~4,1%%Va:~31,1%%Vb:~17,1%%Vb:~11,1%%Va:~3,1%%Vb:~3,1%%Vb:~19,1%%Va:~8,1%%Va:~2,1%%Va:~29,1%%Va:~19,1%%Vb:~19,1%%Va:~22,1%"
B. 批处理如何提取文本中指定内容
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为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 '%~f0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$self=get-item -liter $args[0];
$path=$self.Directory.FullName;
$enc=[Text.Encoding]::Default;
$files=@(dir -liter $path|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
$text=[IO.File]::ReadAllText($files[$i].FullName, $enc);
$m=[regex]::matches($text, 'resource_id=\d+|Item Code:\s*?\d+');
foreach($it in $m){write-host $it.groups[0].value;};
}
C. 批处理按分隔符提取文本指定部分内容
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
@echooff&cd/d"%~dp0"&modeconlines=5000
rem从一个txt文本文件里列出的多个文件路径中截取出文件目录路径和文件名称
set#=Anyquestions&set_=WX&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%/%_%%z%
set"txtfile=a.txt"
ifnotexist"%txtfile%"(echo;"%txtfile%"notexist&pause&exit)
for/f"delims="%%ain('type"%txtfile%"')do(
echo;directory=%%~dpa
echo;name=%%~nxa
)
echo;%#%+%$%%$%/%_%%z%
pause
exit
D. bat读取文件内容
1、新建文件抄。
注意事项:
PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。
E. 关于如何用bat提取txt中指定内容
@echo off
set n=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in (123.txt) do (
set /a n+=1
set /a mod=!n!%%2
if !mod! EQU 1 set "foo=%%i"
if !mod! EQU 1 echo !foo!
)>>op.txt
start op.txt
exit
F. Bat批处理怎么从txt中随机提取一个字符并设为变量
@echo off
setlocal EnableDelayedExpansion
::从 file.txt 中读取文本
set /p str=<file.txt
::显示文本
echo %str%
::创建用于储存长度的变量
set /a len=0
::获取 str 变量的长度 储存到 len 中
call :strlen len str
::显示文本长度
echo 文本长度 = %len%
::生成从[0到len)的随机数
:: 先创建随机数(0~65535)
set rand=%random%
:: 显示随机数
echo 随机数 = %rand%
:: 将随机数与len求余数(对于有5个字的文本会生成[0,4]的区间)
set /a choose=%rand%%%%len%
:: 显示选择的数字
echo 选择第 %choose% 个索引(0表示第1个字,1表示第2个字)
::显示文本中根据随机数选择的字符(截取
echo !str:~%choose%,1!
pause
::这里是获取文本总长度的函数
:strlen <resultVar> <stringVar>
(
(set^ tmp=!%~2!)
if defined tmp (
set "len=1"
for %%P in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do (
if "!tmp:~%%P,1!" NEQ "" (
set /a "len+=%%P"
set "tmp=!tmp:~%%P!"
)
)
) ELSE (
set len=0
)
)
(
endlocal
set "%~1=%len%"
exit /b
)
G. 请问大佬怎么用bat提取指定内容
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
@echooff&cd/d"%~dp0"
rem从一个txt文本文件里提取出存在/包含有指定关键字的行,并删除行首特定内容
set#=Anyquestion&set@=WX&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%/%@%%z%
set/pkeyword=搜索:
set"oldfile=a.txt"
set"newfile=b.txt"
ifnotexist"%oldfile%"(echo;"%oldfile%"notfound&pause&exit)
>"%newfile%"(for/f"tokens=1*"%%ain('type"%oldfile%"^|find/i"%keyword%"')doecho;%%b)
echo;%#%+%$%%$%/%@%%z%
pause
exit
H. bat批量提取文件里指定内容
@echooff&title获取LRC文件中的歌曲信息By依梦琴瑶
cd/d"%~dp0"
echo正在获取中,请稍候。。。
(for%%iin(*.lrc)do(
for/f"tokens=2*delims=[:]"%%ain('findstr/i"[ti:.*]""%%~i"')doset"ti=%%~a"
for/f"tokens=2*delims=[:]"%%ain('findstr/i"[ar:.*]""%%~i"')doset"ar=%%~a"
for/f"tokens=2*delims=[:]"%%ain('findstr/i"[lable:.*]""%%~i"')doset"la=%%~a"
callecho%%ti%%%%ar%%%%la%%
))>歌曲信息.txt
pause
和lrc文件放在一起后运行。仅限读取ANSI编码的lrc文件哦!其它编码的会导致输出乱码。
I. 怎么用bat提取特定内容
@echooff
cd/d"%~dp0"
set@=q&set/an=0x53b7e0b4
titleAnyquestion+%@%%@%%n%
set"f1=a.txt"
set"f2=b.txt"
set"f3=c.txt"
(for/f"delims="%%ain('type"b.txt"')do(
for/f"skip=2tokens=1*delims=#"%%iin('find"%%a""%f1%"')do(
for/f"delims=<"%%xin("%%j")doecho;%%x
)
))>"%f3%"
pause
J. bat文件如何逐行读取文件内容并修改
1、进入win10桌面以后,右击桌面空白处,然后选择【新建】,然后找到并且点击【文本文档】。