Board logo

标题: [文本处理] 批处理报错find不是内部或外部命令,请问是怎么回事? [打印本页]

作者: saogz    时间: 2011-8-29 16:07     标题: 批处理报错find不是内部或外部命令,请问是怎么回事?

  1. set /p var4=请输入想要查找的姓名(例如:张三)
  2.   for /f "tokens=1 delims=." %%a in (test.txt) do (find /i "%var4%" in (%%a.txt) && type %%a.txt || echo 没有该用户)
复制代码
执行这个脚本的时候提示,find不是内部或外部命令!!
作者: 601997526    时间: 2011-8-29 16:41

  1. find /i "%var4%" in (%%a.txt)
复制代码
find还有这样的语法???不知道你这句代码是想要实现什么的
你改成这句试试看
  1. find /i "%var4%" %%a.txt
复制代码

作者: saogz    时间: 2011-8-29 17:22

回复 2# 601997526


    还是不行
作者: sxw    时间: 2011-8-29 19:09

test.txt里是什么?举个例子好明白,呵呵。。。
作者: CUer    时间: 2011-8-29 19:28

右键单击"我的电脑"→"属性"→"高级"→"环境变量"→选中path系统环境变量→"编辑"→在"变量值"输入框开头添加以下内容:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
作者: saogz    时间: 2011-8-30 08:50

回复 5# CUer


    唉,还是不行,真头疼!
作者: raymai97    时间: 2011-8-30 09:18

回复 6# saogz


    你看看C:\windows\system32里面有没有find.exe~
作者: garyng    时间: 2011-8-30 14:15

也许你之前改掉了PATH了吧?(应该是C:\windows\system32)
作者: CUer    时间: 2011-8-30 17:21

回复 8# garyng


6楼说啦,不行。
作者: cjiabing    时间: 2011-8-30 18:14

正如2楼说的,你多了个括号,你先试试:
find.exe/?
看看能否成功,如果不成功,搜索系统盘看有没有该文件。
作者: saogz    时间: 2011-8-31 09:39

小北我真是头疼了,搜索find.exe文件是有的 目录是 C:\WINDOWS\system32 PATH也改了,脚本也改了,就是执行的时候还是报错
作者: lxzzr    时间: 2011-8-31 10:09

加绝对路径试试,如:c:\windows\system32\find.exe
作者: CUer    时间: 2011-8-31 11:51

回复 11# saogz


在CMD窗口里面运行find /?结果如何
作者: wc726842270    时间: 2011-8-31 12:30

最简单的做法就是13L的了,如果有的话就看看你写的命令
如果没有的话,1是改名了。2是被删了,其实简单就可以弥补,直接覆盖吧
作者: saogz    时间: 2011-9-2 08:48

cmd窗口 find /? 可以执行
而且find命令在其它脚本里也可以执行
难道是见鬼了?
作者: CrLf    时间: 2011-9-2 08:54

当前路径和 path 下是否存在以 find 为名的文件?
作者: CrLf    时间: 2011-9-2 08:54

当前路径和 path 下是否存在以 find 为名的文件?
作者: broly    时间: 2011-9-2 10:00

在命令提示符下输入 set  ,然后把path那部分的结果贴出来给大家看看。我觉得是这里的问题
作者: CUer    时间: 2011-9-2 10:17

回复 15# saogz


顶楼贴出的是完成代码?还是一部分代码?
作者: kevinak    时间: 2011-9-5 17:59

还是详细说下你要实现什么功能吧。也不举个例子,这样搞你永远也解决不了问题。仔细琢磨了下,貌似你test.txt里面应该是用户名之类的东西。感觉用if比较好些




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2