标题: findstr文本查找
[打印本页]
作者: kioskboy
时间: 2008-3-27 20:23
标题: findstr文本查找
有”色 酷全书“ 文件夹(有子文件夹),怎样找txt文件里面有”小龙女深情脉脉的看着杨过“字符,
把包含该字符的文件 的全路径显示出来
顺便问下 要在”色 酷全书“ 文件夹(有子文件夹)下找 笑傲江湖.txt,
用命令提示符号怎么找啊
[
Last edited by kioskboy on 2008-8-28 at 06:59 PM ]
作者: HAT
时间: 2008-3-27 21:41
answer for question 1:
@echo off
set SrcDir=C:\test\色 酷全书
for %%a in ("%SrcDir%\*.txt") do (
findstr 小龙女深情脉脉的看着杨过 "%%a" >nul&&echo %%a
)
作者: HAT
时间: 2008-3-27 21:44
answer for question 2:
@echo off
set SrcDir=C:\test\色 酷全书
for /f "tokens=*" %%a in ('dir /s /b "%SrcDir%\*.txt"') do (
echo %%a | findstr "笑傲江湖.txt"
)
作者: kioskboy
时间: 2008-3-28 19:43
@echo off
set SrcDir="C:\Program Files\新建文件夹\色 酷全书"
for %%a in ("%SrcDir%\*.txt") do (
findstr 小龙女深情脉脉的看着杨过 "%%a" >nul&&echo %%a
)
pause
显示: FINDSTR: 无法打开 "C:\Program
怎么办呀
[
Last edited by kioskboy on 2008-3-28 at 07:49 PM ]
作者: tvzml
时间: 2008-3-28 20:46
setbookpath=x:\色 酷全书
if not exist book MD book
for /r "%setbookpath%" %%a in (*.txt) do find "小龙女深情脉脉的看着杨过" "%%a" && copy /y "%%a" "book"
cd /d "book"
dir /b >..\清单.txt
start NOTEPAD ..\清单.txt
作者: kioskboy
时间: 2008-3-28 20:59
Quote: |
Originally posted by tvzml at 2008-3-28 08:46 PM:
setbookpath=x:\色 酷全书
if not exist book MD book
for /r "%setbookpath%" %%a in (*.txt) do find "小龙女深情脉脉的看着杨过" "%%a" && copy /y ... |
|
好像还是不行,我测试了其它存在的文字,找不到啊
我的目录是 : C:\Program Files\新建文件夹\色 酷全书
色 酷全书下有多级的子文件夹,你的好像只遍历一级吧 ,能直接在cmd的界面上显示出其完整路径吗
[
Last edited by kioskboy on 2008-3-28 at 09:06 PM ]
作者: 26933062
时间: 2008-3-28 21:22
:
@echo off
set "wjj=C:\Program Files\新建文件夹\色 酷全书"
for /f "delims=" %%a in ('dir/b/s "%wjj%\*.txt"') do (
findstr "小龙女深情脉脉的看着杨过" "%%a" >nul&&echo %%a
)
pause
@echo off
set "wjj=C:\Program Files\新建文件夹\色 酷全书"
for /f "delims=" %%a in ('dir/s/b "%wjj%\笑傲江湖.txt"') do (
echo %%a
)
pause
作者: HAT
时间: 2008-3-29 00:35
Quote: |
Originally posted by kioskboy at 2008-3-28 07:43 PM:
@echo off
set SrcDir="C:\Program Files\新建文件夹\色 酷全书"
for %%a in ("%SrcDir%\*.txt") do (
findstr 小龙女深情脉脉的看着杨过 "%%a" >nu ... |
|
set SrcDir的时候不需要加双引号
作者: kioskboy
时间: 2008-3-29 09:47
Quote: |
Originally posted by HAT at 2008-3-29 12:35 AM:
set SrcDir的时候不需要加双引号 |
|
我测试了下,好像不行哦,D:\Program Files\ 好像非要定界符号的
算了,不换元了,可能电脑不同。麻烦HAT大虾帮我来简单一点解决上面两个问题
由于我的机子 WshSHell.RegWrite "HKEY_CLASSES_ROOT\Folder\shell\cmd\","cmd",sz
WshSHell.RegWrite "HKEY_CLASSES_ROOT\Folder\shell\cmd\command\","cmd.exe /k cd %1",sz
所以文件夹下有cmd进入当前目录,
C:\Program Files\新建文件夹\色 酷全书
那么 不用创建批处理文件,用哪两句话可以解决上面的问题呢
[
Last edited by kioskboy on 2008-3-29 at 09:52 AM ]
作者: ThinKing
时间: 2008-3-29 14:08
1、
findstr /smic:"小龙女深情脉脉的看着杨过" "path\to\色 酷全书"
2、
dir /s/b/a-d "path\to\色 酷全书\笑傲江湖.txt"
作者: kioskboy
时间: 2008-3-29 18:36
Quote: |
Originally posted by ThinKing at 2008-3-29 02:08 PM:
1、
findstr /smic:"小龙女深情脉脉的看着杨过" "path\to\色 酷全书" 2、
dir /s/b/a-d "path\to\色 酷全书\笑傲江湖.txt" |
|
不行啊,运行了没有反应,path\to 能行吗?后面怎么还有个色 酷全书呢,不是已经在当前目录了吗
findstr 好像不行了,我的电脑是XP的,没有 /smic 命令参数
改个一句话的FOR吧
[
Last edited by kioskboy on 2008-3-29 at 06:44 PM ]
作者: HAT
时间: 2008-3-30 01:55
findstr 好像不行了,我的电脑是XP的,没有 /smic 命令参数
=====================================
/smic == /s /m /i /c
作者: kioskboy
时间: 2008-4-1 14:00
那"path\to\色 酷全书\笑傲江湖.txt" 的path\to\算什么,
笑傲江湖.txt 又不在一级目录下
在cmd的C:\Program Files\新建文件夹\色 酷全书 目录下,
谁给个For的命令我吧
[
Last edited by kioskboy on 2008-4-1 at 02:08 PM ]
作者: abcd
时间: 2008-4-1 14:12
findstr /smic:"小龙女深情脉脉的看着杨过" "C:\Program Files\新建文件夹\色 酷全书\*.txt"
肯定是可以的
dir /s/b/a-d "C:\Program Files\新建文件夹\色 酷全书\笑傲江湖.txt"
作者: kioskboy
时间: 2008-4-1 14:45
谢谢大家,终于想明白了,解决了
findstr /smic:"小龙女深情脉脉的看着杨过" "C:\Program Files\新建文件夹\色 酷全书\*.txt" 这句话我总觉得后面“C:\Program Files\新建文件夹\色 酷全书\”太长了
为了不让未成年小女生看到,我把它搬到了“D:\Program Files\Microsoft Office\Common Files\system\abc\色 酷全书”下面,
搜索的时候老要加在后面加”D:\Program Files\Microsoft Office\Common Files\system\abc\色 酷全书\*.txt“
麻烦啊
我已经在在cmd.exe shell的D:\Program Files\Microsoft Office\Common Files\system\abc\色 酷全书> 目录下了
有时我在D:\Program Files\Microsoft Office\Common Files\system\abc\色 酷全书\情色杂集>下
请问好像可以用什么0%或者1%,把它代换了,编辑粘贴麻烦,改个一句话的for也可以,
用什么管道命令帮忙应该可以吧
[
Last edited by kioskboy on 2008-4-1 at 02:51 PM ]
作者: kioskboy
时间: 2008-4-1 14:49
findstr /smic:"小龙女深情脉脉的看着杨过"
dir /s/b/a-d "笑傲江湖.txt"
未什么不行啊,不是已经在当前目录下,
看来findstr 和dir命令还差一个参数,待改进
[
Last edited by kioskboy on 2008-4-1 at 02:52 PM ]
作者: abcd
时间: 2008-4-1 16:03
@echo off
set "ph=D:\Program Files\Microsoft Office\Common Files\system\abc\色 酷全书"
pushd "%ph%"
findstr /smic:"小龙女深情脉脉的看着杨过" *.txt
popd
pause>nul
dir /s/b/a-d "笑傲江湖.txt"
作者: plp626
时间: 2008-4-1 16:32
这是我字符搜索"命令行工具"(真不好意思说)
有什么命令的用法不很清楚就在命令提示符下输入:
cmdstr shift
你根据需要将路径改成你自己的
@echo off
set "load=G:\cmd\批处理范例\bat文件"
for /f "tokens=*" %%i in ('findstr /ms %1 "%load%\*.txt" ^|findstr .') do start /max /wait notepad "%%i"
goto :eof
作者: ThinKing
时间: 2008-4-2 02:40
Quote: |
有什么命令的用法不很清楚就在命令提示符下输入:
cmdstr shift |
|
什么意思?
作者: kioskboy
时间: 2008-4-2 11:36
Quote: |
Originally posted by abcd at 2008-4-1 04:03 PM:
[code]
@echo off
set "ph=D:\Program Files\Microsoft Office\Common Files\system\abc\色 酷全书"
pushd "%ph%"
findstr /smic:"小龙女深情脉脉的看着杨过" ... |
|
1 findstr /smic:"小龙女深情脉脉的看着杨过" *.txt
显示相对路径(当前目录运行)
2 dir /s/b/a-d "笑傲江湖.txt"
显示绝对路径(当前目录运行)
谢谢你,就这样了,
如果都显示绝对路径就好了
好像question 1 除了 findstr /smic:"小龙女深情脉脉的看着杨过" *.txt 都可以不要,结果一样
能把question 1 用管道命令的复合语句 一句话解决掉吗(显示绝对路径)
作者: plp626
时间: 2008-4-2 13:01
Quote: |
Originally posted by ThinKing at 2008-4-2 02:40 AM:
什么意思? |
|
cmdstr是批处理文件名,shift是我不是很清楚的命令名,我只是举个例子.
作者: plp626
时间: 2008-4-2 13:03
Quote: |
Originally posted by kioskboy at 2008-4-2 11:36 AM:
1 findstr /smic:"小龙女深情脉脉的看着杨过" *.txt
显示相对路径(当前目录运行)
2 dir /s/b/a-d "笑傲江湖.txt"
如果能显示绝对路径就好了( ... |
|
路径自己设定
@echo off
set "load=G:\cmd\批处理范例\bat文件"
for /f "tokens=*" %%i in ('findstr /ms %1 "%load%\*.txt" ^|findstr .') do echo.绝对路径为: "%%i"
goto :eof