批處理文字內容。我想批量處理文字的內容,功能是刪除每個文字的其中一行的行首的前幾個字或者行尾的

2021-06-26 11:18:02 字數 4692 閱讀 1994

1樓:匿名使用者

@echo off

::下一行指定行數 hn 和刪除幾字元 sn 如刪行尾寫成負數set/a hn=7,sn=3

if %sn% lss 0 set "sn=,%sn%"

for %%i in (*.txt)do (echo %%i

(for /f "tokens=1* delims=:" %%j in ('findstr/n .* "%%i"')do (

if %%j equ %hn% (

set "h=%%k"

if defined h (

setlocal enabledelayedexpansionset "h=!h:~%sn%!"

echo/!h!

endlocal)else echo/

)else echo/%%k

))>temp.yky

move temp.yky "%%i"

set/a n+=1)

echo 共處理 %n% 個檔案

pause

2樓:匿名使用者

下邊**有註釋,你在把**儲存成bat檔案的時候要把註釋去掉,批處理檔案要和 文字檔案放在同一目錄下

set /a n=7 第七行,這個數字你自己改

set /a m=0

cd.>temp.txt

setlocal enabledelayedexpansion

for /f "tokens=* delims=" %%a in ("廉政英雄.txt") do (

set /a m=!m!+1

if "!m!"== "!n!" (

set str=%%a

set str=!str:~0,-3! "-3"表示要去掉倒數3個字,你自己改

要去掉前邊3個字 就用 set str=!str:~3!

echo !str!>>temp.txt

) else (

echo %%a>>temp.txt))

endlocal

del 廉政英雄.txt /f/q

ren temp.txt 廉政英雄.txt

3樓:匿名使用者

title 刪除某行前面或者後面幾個位元組

::先得出共有多少行

set /a num_max=0

for /f "delims=" %%a in (廉政英雄.txt) do (

set /a num_max+=1

):shuruhang

echo.輸入要刪除行:

set /p num_hang=

if !num_hang! leq !num_max! goto :yesorno

echo.輸入有誤!重新輸入&ping -n 2 127.1>nul&goto :shuruhang

:yesorno

::用del_=1或者2來識別刪除前面位元組或者後面位元組

set/a del_=0

echo.刪除前面位元組輸入y,後面位元組輸入n?

set/p input=

echo.輸入錯誤&ping -n 3 127.1>nul&goto :yesorno

::這個輸入刪除位元組數

:function1

echo.請輸入刪除位元組數:

set/p num_bit=

if "!num_bit!" gtr "0" goto :function2

echo.輸入有誤!&ping -n 2 127.1>nul&goto :function1

::對文字進行操作

:function2

set/a num_temp=0

for /f "delims=" %%a in (廉政英雄.txt) do (

set/a num_temp+=1

set str_temp=%%a

if "!num_temp!" equ "!num_hang!" (

if "!input!"=="y" (

echo !str_temp:~%num_bit%!>>temp.txt) else (

echo !str_temp:~0,-%num_bit%!>>temp.txt)

) else (

echo !str_temp!>>temp.txt))

echo.親,處理完畢。&""temp.txt""

我測試成功!祝你好運。

如果對你有幫助,請採納!

批處理bat 批量刪除txt文字指定的行

4樓:繁亭晚操戌

@echo off

setlocal enabledelayedexpansionfor /l %%a in (1,1,1000) do (set /a n=0

for /f %%i in (%%a.txt) do (set /a n+=1

if /i !n!==3 set "var%%a=%%i"))for /l %%a in (1,1,1000) do (echo !var%%a!)

::1.txt中的第三行變專

量為:!var1!

::2.txt中的第三行變數為:!var2!

:: 。。

屬。。。。。。。。。。。。

::1000.txt中的第三行變數為:!var1000!

::萬用字元的使用要看場合。

pause

5樓:匿名使用者

那就不要空行

@echo off

for %%i in (2,4)do set #%%i=y(for /f "tokens=1* delims=:" %%i in ('findstr/n .* "1.

txt"')do (

if not defined #%%i echo;%%j))>"2.txt"

pause

如果要改原檔案回

,最後一行答前插入一行

move "2.txt" "1.txt"

6樓:逝雪藍冰

linux命令copy

(windows下可以安裝一個git):

sed -i '2d' 1.txt

刪除bai1.txt檔案中的du第二行。

find *.txt |xargs sed -i '2d'

批量刪除文zhi件夾中所有的txt檔案的第二行。

我也遇dao到了這個問題,已通過這條命令解決。

有很多txt文件,想批處理,刪除每個文件的第一行和最後一行,有沒有辦法?

7樓:匿名使用者

for %%i in (*.txt) do (set "f=%%i"

for /f "usebackq delims=" %%j in ("!f!") do set/a n+=1

set/a n-=2

for /f "delims=" %%m in ('"type "!f!"|more +1& cd.

2^>!f!"') do set/a x+=1&if !

x! leq !n!

echo;%%m>>!f!

set/a n=0,x=0

)pause

如何用批處理批量刪除文字文件的內容裡面每行的前若干個字

8樓:匿名使用者

嗯,就是這樣簡單。

@echo off

set fn=a.txt

(for /f "tokens=1*" %%i in ('type "%fn%"') do echo %%j)>temp.txt

move /y temp.txt "%fn%"

9樓:匿名使用者

以空格作為分割符取第二列即可

10樓:風元素精靈

要怎麼刪,每行前刪除多少個字元

11樓:匿名使用者

@回聲關閉

setlocal enabledelayedexpansion

for / f「delims =」%%i in('dir / b /廣告*。txt「)做(

集合d =%%科幻&設定n =%%nxi&設定p =%%dpi以與使用echo 0>「!p!統」> nul

for / f「標記= * delims =」%%一個在('「! d「型」)做(集合m =%%一個

如果不是「m:!2,300」==「」(回聲m:!「!p tem」2,300 >>)) 「!d」!br /> del / f / q&仁「!p統」的「n」)

退出說明:每次執行蝙蝠時間將刪除該目錄下的第一個兩個字元txt檔案,所以不要多跑。

12樓:匿名使用者

簡單,選定要刪的內容,點右鍵剪下即可

13樓:匿名使用者

所示說明不夠詳細,前幾個字元是什麼規律,是有指定分隔符,還是指定長度???

批處理怎麼批量提取多個裡的指定內容

這個不用批處理也可以的。用dos命令 把所有的txt放在一個資料夾。然後執行合併所有txt到一個sum檔案命令 copy txt sum.txt 然後開啟sum.txt,ctrl h,替換ctrl h,替換 為空。即可。不清楚你的實際檔案 情況,僅以問題中的樣例 說明為據 複製貼上到記事本,另存為x...

批處理問題如何調換內容,TXT文件批處理問題 如何調換內容

echo off 第一段 調換列位置 for f tokens 1 3 delims a in a.txt do echo b a c a 第二段 刪除行中括號 setlocal enabledelayedexpansionfor f delims i in b.txt do set str i s...

批處理修改文字內容,每一行有13位字元,(如1234567891234),把每一行的前字元,輸出到另文字

把 風音1329 的 改了一下內 setlocal enabledelayedexpansionset fn a.txt for f delims i in fn do set s i echo 容s 10 new fn txt daoecho off setlocal enabledelayede...