::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 ]