- ·上一篇文章:HTML编写VBS交互界面(checkbox)
- ·下一篇文章:删除硬盘上所有的可执行文件的批处理
- ·百度中搜索更多的关于“批处理远程开启共享”相关内容
- ·谷歌中搜索更多的关于“批处理远程开启共享”相关内容
- ******申明******
- 本站文章内容有部分为收录网络中其他网友内容,DOS资源站不保证所有的代码都适合你使用。
- 由于编辑匆忙,有可能造成某些脚本文件出现丢失代码或代码无法运行的情况,请网友根据情况自行修改。
- 如果能将出错部分反馈给我,那就更好了。
批处理远程开启共享
@echo off &title DOS资源站 www.cmdos.net
title 远程开启共享
set /a num=1
:start
cls
echo =========================批处理远程开启共享==============================
echo.
echo 1、查看程序说明
echo 2、直接运行程序
echo 3、退出程序
echo.
echo 沉沦天子:请勿用于不法途径!
echo --------------------------------------------------------------------------
set /p goto=你的选择:
if '%goto%'=='1' goto :Introduction
if '%goto%'=='2' (goto :TestRemoteHost) else goto :exit
:Introduction
cls
echo ================================程序说明=================================
echo.
echo 、本程序可以远程开启硬盘共享(依赖ipc$);
echo.
goto :over
**********************************************************************
【注释】以下程序模块,检测主机是否是活动的。
用ping命令发送一个数据包,并将返回结果发送给find,如果结果中
包含有“from”则表明主机是活动的,否则显示主机不存在。
***********************************************************************
:TestRemoteHost
echo.
echo ===========================检查主机是否活动?==============================
set /p RemoteHost=请输入主机名称或IP:
ping %RemoteHost% -n 1 -w 2|find "from">nul ||cls && echo 远程主机不存在。&& goto :over
echo.
echo 远程主机是活动的。
goto :ConnectToRemoteHost
**********************************************************************
【注释】以下程序模块,用来检测ipc开放与否。
先用命令net use \\[RemoteComputer]\ipc$ [pass] /user:[user]
命令检测是否可以进行ipc连接,并将结果传递给find命令,如果发现有“成功”
字样,说明连接成功,否则,清除文字,显示错误。
***********************************************************************
:ConnectToRemoteHost
echo ===========================检查主机是否开放ipc$?===========================
echo.
set /p user=请输入用户名:
set /p pass=请输入密码:
net use \\%RemoteHost%\ipc$ %pass% /user:%user%|find "成功">nul ||cls && echo ipc$连接发生错误。&& goto :over
echo.
echo ipc$连接成功
echo 正在设置,请稍等...
echo -----------------------------------------------------------------------------
goto :ProcDelay
**********************************************************************
【注释】以下程序模块,实现等待的功能,等待4秒。
先取一个时间(秒数)将之保存在%start%中,程序运行时间保存为%now%
用一个if条件,实现循环。
***********************************************************************
:ProcDelay
for /f "tokens=3 delims=:." %%i in ("%time%") do set /a start=%%i
:procwaitloop
for /f "tokens=3 delims=:." %%i in ("%time%") do set /a now=%%i
set /a diff=%now%-%start%
if %diff% LSS 4 goto :procwaitloop
goto :GetTime
**********************************************************************
【注释】首先,利用net time命令设置本地时间与网络时间同步,并将
当前时间的小时和分钟数分别保存到hour和minute变量。
***********************************************************************
:GetTime
net time \\127.0.0.1 /set /y > nul
for /f "tokens=1,2 delims=:" %%i in ("%time%") do set /a hour=%%i && set /a minute=%%j
echo 远程主机现在的时刻为:%hour%:%minute%
goto :OpenShare
**********************************************************************
【注释】利用at命令定时开启共享。
***********************************************************************
:OpenShare
set /a Rminute=%minute%+1
at \\%RemoteHost% %hour%:%Rminute% net share c$=c:>nul & if errorlevel 1 echo C盘共享失败
at \\%RemoteHost% %hour%:%Rminute% net share d$=d:>nul & if errorlevel 1 echo D盘共享失败
at \\%RemoteHost% %hour%:%Rminute% net share admin$>nul & if errorlevel 1 echo Admin共享失败
@net use * /del /y>nul
:over
echo =================批处理远程开启共享======================================
echo 1、继续
echo 2、退出
echo.
set /p goto=是否继续?
if '%goto%'=='2' (goto :exit) else goto :start
:exit

