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