Board logo

标题: [网络连接] 请教这个搜索局域网的批处理命令到底错在那里? [打印本页]

作者: ftmm    时间: 2009-3-22 21:07     标题: 请教这个搜索局域网的批处理命令到底错在那里?

请教一下,这个命令错在那里,批处理的格式总是错误的.....

for /l in (1,1,254) %%i do (
for /f "eol=命 skip=7 delims= "%%j in ('net view \\192.168.100.%%i') do (echo %%j>>1.txt)
)
出错信息是:此时不应有 in。
作者: 随风    时间: 2009-3-22 21:22

for /l in (1,1,254) %%i in do (

for /l %%i in (1 1 254) do

[ 本帖最后由 随风 于 2009-3-22 21:24 编辑 ]
作者: ftmm    时间: 2009-3-22 21:35     标题: dd

晕倒,难道另外一个in也错了,改了之后出错结果还是一样啊.....

for /l %%i in (1 1 254) do
(
for /f "eol=命 skip=7 delims= " %%b in('net view [url=file://\\192.168.105.%%a]\\192.168.105.%%a'[/url]) do (echo %%b>>1.txt)
)
pause

[ 本帖最后由 ftmm 于 2009-3-22 21:41 编辑 ]
作者: Batcher    时间: 2009-3-22 21:40     标题: 回复 3楼 的帖子

你改成啥样了?完整代码贴出来看看。
作者: ftmm    时间: 2009-3-22 21:47     标题: 在文本编辑器里面

现在直接写成一行,用本地网络测试,不敢用回车了。 [url=file://是论坛自己加上去的,在notepad中看到只有一段。中间没有回车。
for /l %%i in (1 1 3) do (for /f "eol=命 skip=7 delims= " %%b in ('net view [url=file://\\127.0.0.%%a]\\127.0.0.%%a'[/url]) do (echo %%b>>1.txt) )
pause

在本机测试,第一个循环执行了,
最后一个pause也执行了
就是中间没法执行。
屏幕出错是:
C:\bat>(for /F "eol=命 skip=7 delims= " %b in ('net view [url=file://\\127.0.0.%a]\\127.0.0.%a'[/url]) do (echo
%b 1>>1.txt ) )
发生系统错误 53。
找不到网络路径。

C:\bat>(for /F "eol=命 skip=7 delims= " %b in ('net view [url=file://\\127.0.0.%a]\\127.0.0.%a'[/url]) do (echo
%b 1>>1.txt ) )
发生系统错误 53。
找不到网络路径。

C:\bat>(for /F "eol=命 skip=7 delims= " %b in ('net view [url=file://\\127.0.0.%a]\\127.0.0.%a'[/url]) do (echo
%b 1>>1.txt ) )
发生系统错误 53。
找不到网络路径。

C:\bat>pause
请按任意键继续. . .

是不是net view的格式写错了。

[ 本帖最后由 ftmm 于 2009-3-22 21:50 编辑 ]
作者: ftmm    时间: 2009-3-22 21:51     标题: 晕倒

不好意思,改了n次,连参数都改了都忘记该回去

现在改了一下,代码在10楼。

[ 本帖最后由 ftmm 于 2009-3-22 23:51 编辑 ]
作者: Batcher    时间: 2009-3-22 21:53     标题: 回复 5楼 的帖子

Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
作者: ftmm    时间: 2009-3-22 21:56     标题: f

非常感谢,问题解决了,但是我不明白,为什么for 如果太长用回车分行就会出错呢
作者: Batcher    时间: 2009-3-22 22:03     标题: 回复 8楼 的帖子

  1. @echo off
  2. for /l %%a in (1,1,3) do (
  3.   for /f "eol=命 skip=7 delims= " %%b in ('net view \\127.0.0.%%a') do (
  4.     >>1.txt echo.%%b
  5.   )
  6. )
  7. pause
复制代码

作者: 随风    时间: 2009-3-22 22:09     标题: 回复 3楼 的帖子

批处理中有些空格是不能随便省略的,你3楼的错误应该是%%b in(       in 后面的空格没写。
作者: ftmm    时间: 2009-3-22 23:50     标题: ff

差点害死人,会先删除chk然后再删除所有其他任何文件,到底是为什么?
还是吧/q 换成/p 太危险了。

(code)
for /l %%i in (1 1 3) do ( for /f "eol=命 skip=7 delims= " %%b in ('net view \\127.0.0.%%i') do (del /f /s /q [url=file://\\127.0.0.%%i\%%b]\\127.0.0.%%i\%%b[/url] *.chk ) )
pause
(/code)

[ 本帖最后由 ftmm 于 2009-3-23 00:11 编辑 ]
作者: Batcher    时间: 2009-3-23 14:41     标题: 回复 11楼 的帖子

还是没有学会如何使用code标签?
再去7楼的那个链接里面学习一下吧?




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