批處理提取中每行前6位字元,批處理 提取txt中每行前6位字元。 20

時間 2021-08-16 15:22:37

1樓:匿名使用者

你沒有說明一下提取前6位字元放到哪?

以下**示例,提取txt中每行前6位字元,並將結果輸出儲存在e:\out.txt裡面:

echo off

setlocal enabledelayedexpansionfor /f "delims=" %%i in (e:\dddd.txt) do (

set str1=%%i

set str=!str1:~1,6!

echo !str! >> e:\out.txt)pause

2樓:匿名使用者

樓上擷取字元部分弄錯了,在txt所在目錄執行,產生結果在result.txt

@echo off

setlocal enabledelayedexpansionfor /f "delims=" %%i in (a.txt) do (

set n=%%i

echo !n:~0,6!>>result.txt)pause

3樓:匿名使用者

@echo off&setlocal enabledelayedexpansion

for /f %%i in (123.txt) do (set str=%%i

set str=!str:~0,6!

echo !str! >>result.txt)endlocal

4樓:匿名使用者

我也有同樣的問題,你這個是什麼執行環境執行這段**啊?我是新手

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

5樓:匿名使用者

@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

6樓:匿名使用者

下邊**有註釋,你在把**儲存成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

7樓:匿名使用者

@echo off&setlocal enabledelayedexpansion

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=

if "!input!"=="y" set/a del_=1&goto :function1

if "!input!"=="n" set/a del_=2&goto :function1

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""

我測試成功!祝你好運。

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

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

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

用批處理命令修改文字中的數字,批處理替換指定文件中的指定內容

echo off temp.yky set ff a.txt set a n 3 for f tokens 1 delims i in findstr n ff do temp.yky move temp.yky ff echo.處理完畢,按任意鍵退出.pause nul echo 第 n 行不是數...

批處理刪除檔名中的指定文字,寫個批處理刪除指定檔案或指定資料夾

把下面的批處理存為myren.bat,放在目標資料夾下,然後在cmd中進入目標路徑,輸入 myren.bat 任意內容 然後程式就會把所有mp4檔名中的 任意內容 刪掉。echo off setlocal enabledelayedexpansion for f delims i in dir mp...