批处理在文本文件中提取文本

2024-05-16 01:56

1. 批处理在文本文件中提取文本

@echo off&setlocal enabledelayedexpansioncd .>d:\b.txtfor /f "delims=" %%a in (d:\a.txt) do (if "%%a"=="CBA" set begin=0if  !begin!==1 echo %%a >>d:\b.txtif "%%a"=="ABC" set begin=1)如果只是要输出含有数字的行,那么只需要一条命令
findstr "^[0-9][0-9]*$" d:\a.txt>d:\b.txt

批处理在文本文件中提取文本

2. 批处理 提取文本

"presenter-wWbPOBBR

3. 求批处理提取文本

假设你这文档叫a.txt,输出为b.txt
@echo off(for /f "tokens=2 delims=:" %%a in ('findstr /b "Command:" a.txt') do echo %%a)>b.txt

求批处理提取文本

4. 批处理文本提取

@echo off&setlocal enabledelayedexpansion(for /f "delims=" %%a in (a.txt) do (    set "str=%%a"    set "str=!str:Translate this page=!"    if not "!str!"=="%%a" echo,!str!))>b.txt

5. 如何用提取文本文件内第一行作为该文件文件名【批处理】

答复已补充:
你如果确认第一行就是要的标题而不是空行或其它的话,那么应该就样:
@echo off
for %%a in ("*.txt") do (call:ChangName "%%a")
goto :eof

:ChangName
for /f "usebackq delims=" %%h in ("%1") do (ren "%1" "%%h.txt"&goto :eof)
goto:eof 

问题有2:1.为什么你要用skip=2跳过头2行呢?
2.for是一个循环,你不停止它,它就会一直的运行下去,虽然理论上不会再对ren产生影响了,但是很耗资源的

特别要注意的是你用了usebackq参数,那么%1就得加上""了,这样FOR才认为它是一个文件,后面的也加上,以免路径有空格时发生错误。

如果你不确定第一行是不是空行的话可以参照一楼的兄弟判断的语句(稍做更改):
for ......(
setlocal enabledelayedexpansion
set "var=%%i"
if defined var (ren "%1" "%%i.txt" & goto :eof)
set var=) 

发现问题了,楼主说在中途停止反而正确的多,问题在于第一句
for %%a in (*.txt) do (call:ChangName "%%~a")
当你更改文件名时,for会对更改后的文件再次遍历,所以先导出文件名再做更改的动作吧,第一段更改如下:
@echo off
dir /b *.txt>>%temp%\dirlist.txt
for /f "usebackq delims=" %%a in ("%temp%\dirlist.txt") do (call:ChangName "%%a")
goto :eof

如何用提取文本文件内第一行作为该文件文件名【批处理】

6. 批处理完后并提取第一行作为输出文本名

for /f "tokens=1 " %%i in (a.txt) do set b=%%i

此句可以完成楼主的意思:
然后加上更名的语句,或者用楼主的批处理生成 b.txt 也行

但楼主要知道这里有先后顺序:
是先读到“中国每一天的消费22345”这一行之后才会有“中国每一天的消费22345.txt”文件
所以上面的a.txt是指的你的批处理开始处理的文件名~
tokens 表示文本的列
你多试几次就知道啦。
还有,此句无法在DOS下面执行~~

7. 批处理提取文本指定行

1、
for /f "delims=" %%a in ('findstr "abcd" A.txt') do echo %%a>>B.txt




2、
for /f "tokens=1 delims=^|^|" %%a in (A.txt) do echo %%a>>C.txt

批处理提取文本指定行

8. 批处理提取文本的问题

@echo off&setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (c:\1.txt) do (
set /a co+=1
if !co! gtr 1 (exit) else echo %%a>>D:\ok.txt
)
改成
@echo off&setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (c:\1.txt) do (
set /a co+=1
if !co! gtr 1 echo %%a>>D:\ok.txt
)
最新文章
热门文章
推荐阅读