中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 搜索指定共享 上一主题 | 下一主题
rs369007
初级用户





积分 147
发帖 131
注册 2008-9-22
状态 离线
『楼 主』:  搜索指定共享


::code by rs369007! 2010.4.23
::xxx同学毕业设计常常在多台电脑之间进行,经常要用U盘把一次设计成果
::拷贝到另外一台电脑上继续设计,而U盘病毒巨多,实不能忍受,特写此脚本.

::---------------功能------------------

::nbtscan.exe SetACL.exe cygwin1.dll 这是脚本用到的第三方工具
::显示ip,方便记下ip,熟悉cmd便可直接在另外一台电脑上打开本机共享
::设置当前目录为共享目录,并设置外部访问权限为 readonly
::遍历本网段,枚举在线主机,放在online.txt
::判断在线主机是否有共享资源,是否是指定条件共享资源,满足条件,
::则打开;否则,继续枚举。

::共享资源必须遵循统一命名标准

@echo off&setlocal ENABLEDELAYEDEXPANSION
title 显示ip地址^&设置共享^&打开共享

::文件依赖性检查
if exist "SetACL.exe" (
        if exist "nbtscan.exe" (
                copy /y nbtscan.exe c:\windows\system32 >nul 2>&1
                copy /y SetACL.exe c:\windows\system32 >nul 2>&1
                ) else (
                echo 缺少文件:nbtscan.exe SetACL.exe.
                pause>nul &exit /b
                )
                )

::显示主机ip、设置共享及访问权限
:setshare

for /f "tokens=2 delims=:" %%i in ('ipconfig/all ^| find /i "IP Address"') do (
                set ipaddr=%%i
                )
set ipaddr=!ipaddr:~1!
echo 本机ip地址: !ipaddr!
echo.&echo 设置当前目录为共享目录...
set sharename=XX毕业设计
net share !sharename!="%cd%" /USERS:1  >nul 2>&1
setacl -on "!sharename!" -ot shr -actn ace -ace "n:everyone;p:read">nul 2>&1
for /f "tokens=* delims= " %%j in ('net share ^|find /i "!sharename!"') do (
        echo.&echo %%j-----共享成功.
        )

::开始遍历网段主机,并试图打开xx同学共享文件(判断条件:共享名或共享文件名包含"xx同学毕业设计"字符串)

:openshare
echo.&echo 开始获取在线主机列表......
cd.>online.txt
arp -d>nul 2>nul&nbtscan 172.16.35.1/24>nul 2>nul&arp -a|find /v "00-00-00-00-00-00"|find /v ":"|find "-" >>online.txt
echo   !ipaddr!>>online.txt
echo 获取列表完毕.&echo.

echo 脚本正在收索: xx同学毕业设计共享文件,请耐心等待......
for /f "delims= " %%a in (online.txt) do (
        set ip=%%a
        if NOT "%%a"=="172.16.35.1" (
                for /f "delims= " %%c in ('net view \\%%a 2^>nul') do (
                        echo %%c|find "XX毕业设计">nul 2>&1&&start \\%%a 2>&1&&echo 远程主机ip: !ip!
                )
        )
)

echo 任意键退出...
pause>nul & exit /b
[ Last edited by rs369007 on 2010-4-23 at 14:05 ]



  freedom!
2010-4-23 12:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: