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桌面以後,右擊桌面空白處,然後選擇【新建】,然後找到並且點擊【文本文檔】。