标题: [文件操作] [已解决]批处理怎样查找文件中的指定内容并显示? [打印本页]
作者: comicguests 时间: 2011-7-3 12:57 标题: [已解决]批处理怎样查找文件中的指定内容并显示?
- for /r %%a in (*Exorcist*.rmvb) do move %%~sa F:\视频\戦う\蓝色驱魔师\
- for /r /d %%a in (*Exorcist*) do del /a /f /s "%%a\*.torrent"
复制代码
比如以上代码
有两个
*Exorcist*
我希望只显示一个...
er...
就是有一个bat文件,里面有上述代码
我想写一段代码,可以查找bat文件中**里的关键词,并显示在运行的cmd窗口里
ps.因为代码不知这两行,想把所有的关键词全显示在运行的cmd窗口里
作者: Demon 时间: 2011-7-3 13:11
是你表达能力有问题,还是我理解能力有问题
作者: comicguests 时间: 2011-7-3 13:59
2# Demon
补充了一下,麻烦你了...
作者: wolonga123 时间: 2011-7-3 14:15
2# Demon
他的意思就是显示两个*号之间的内容,但不显示重复的
作者: tmplinshi 时间: 2011-7-3 14:22
本帖最后由 tmplinshi 于 2011-7-3 14:26 编辑
- @echo off
- setlocal
- for /f "delims=* tokens=2" %%i in ('findstr /rc:" (.*\*.*\*.*) " 1.bat') do (
- if not defined _%%i (
- echo,%%i
- set _%%i=#
- )
- )
- pause
复制代码
作者: wolonga123 时间: 2011-7-3 14:22
- for /f "tokens=2 delims=*" %%i in (23.txt) do (
- if not defined %%i (
- echo %%i>>46.txt)
- set "%%i=bathome"
-
- )
- pause
复制代码
作者: comicguests 时间: 2011-7-3 15:22
5# tmplinshi
刚才忘问了,关键词列出后,可不可以赋予它一个序号,方便选择?
比如:
关键词1.....a
关键词2.....b
关键词3.....c
要删除哪个?
按a
确定
就可以删除关键词1所在行...
我的代码是这样的- @echo off
- setlocal
- for /f "delims=* tokens=2" %%i in ('findstr /rc:" (.*\*.*\*.*) " ☆キラ☆.bat') do (
- if not defined _%%i (
- echo,%%i
- set _%%i=#
- )
- )
- :aki ============================================================
- set /p "str_key=删除哪个?:"
- sed -i "/*%str_key%*/d" ☆キラ☆.bat
- set "choice="&set/p choice=是否继续删除?(y/n):
- if /i "%choice%"=="y" goto:aki
- if /i "%choice%"=="n" exit
复制代码
作者: tmplinshi 时间: 2011-7-3 16:08
本帖最后由 tmplinshi 于 2011-7-3 16:10 编辑
- @echo off
- setlocal
- set n=
- set f="1.bat"
-
- for /f "delims=* tokens=2" %%i in ('findstr /rc:" (.*\*.*\*.*) " %f%') do (
- if not defined _%%i (
- set str=%%i
- set /a n += 1
- setlocal enabledelayedexpansion
- echo [!n!] !str!
- for /f "tokens=1,2 delims=*" %%a in ("!n!*!str!") do (
- endlocal
- set _%%b=_
- set #%%a=%%b
- )
- )
- )
-
- :aki ============================================================
- set /p "str_key=删除哪个?:"
- setlocal enabledelayedexpansion
- findstr /vrc:" (.*\*!#%str_key%!\*.*) " !f! >..tmp
- endlocal
- move ..tmp %f%
-
- set "choice="&set/p choice=是否继续删除?(y/n):
- if /i "%choice%"=="y" goto:aki
- if /i "%choice%"=="n" exit
-
- endlocal
- pause
复制代码
作者: comicguests 时间: 2011-7-3 16:40
8# tmplinshi
感谢!!!!!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |