zoukankan      html  css  js  c++  java
  • 一段批处理代码

     @echo off
    mode con: cols=60 lines=3
    color 1a


    ::分离 时间,~5,2 表示从第五位开始,显示后2位字符。
    SET date1=%date:~0,4%
    SET date2=%date:~5,2%
    SET date3=%date:~8,2%


    ::分离 时间
    SET time1=%time:~0,2%
    SET time2=%time:~3,2%
    SET time3=%time:~6,2%

    ::分离并显示当前时间,精确到秒。


    TITLE  当前日期:%date1%年%date2%月%date3%日%time1%时%time2%分

    ECHO                     %date1%年 %date2%月 %date3%日
    ECHO                         %time1%时 %time2%分 


    ping -n 3 127.1 >nul 2>nul


    ::检查是否拥有运行权限
    ::用 findstr 搜索本帐户是否属于 administrator 帐户组,
    :: ||  command1 || command2        只有在符号 || 前面的命令失败时,才用于运行符号 || 后面的命令。Cmd.exe 运行第一个命令,然后只有在第一个命令未能运行成功(接收到大于零的错误代码)时才运行第二个命令。
    TITLE 检查用户权限
    COLOR 0F
    mode con: cols=30 lines=5
    ECHO.
    ECHO 正在验证账户权限,请稍候..
    ECHO.
    PING -n 4 127.1 >nul 2>nul
    NET users %username%|findstr /i "\*administrator">nul 2>nul || goto sorry
    GOTO :LOCALGROUP


    :LOCALGROUP
    CLS
    TITLE 账户权限验证通过
    COLOR 0F
    mode con: cols=50 lines=10
    ECHO =======================================
    ECHO   账户权限验证通过
    ECHO       本账户属于administrator 账户组
    ECHO =======================================
    ECHO   正在进入程序.......
    PING -n 4 127.1 >nul 2>nul


    mode con: cols=40 lines=20
    color 2a
    :open
    cls
    echo =======================================
    echo              是否需要修改IP
    echo =======================================
    echo           1、直接设置系统共享
    echo.
    echo           2、进入 IP 设置选项
    echo.
    echo           3、退出
    echo =======================================
    echo             请输入序号后回车
    echo.
    set a=
    set /p a= 请输入:
    if /i "%a%"=="1"  goto :GX
    if /i "%a%"=="2"  goto :IP
    if /i "%a%"=="3"  goto :EXIT
    goto :open

    :GX
    ::设置共享
    mode con: cols=55 lines=23
    color 1f
    CLS
    echo =====================================================
    echo           系统将做如下调整:
    echo =====================================================
    echo 一、取消本机密码
    echo.
    echo 二、本地安全策略-安全选项-网络访问:
    echo     不允许SAM帐户和共享的匿名枚举。
    echo     修改为【已停用】。
    echo.
    echo 三、本地安全策略--安全选项--帐户:
    echo     使用空白密码的本地帐户只允许进行控制台登录。
    echo     修改为【已启用】。
    echo.
    echo 四、控制面板--防火墙--例外;
    echo     添加【文件和打印机共享】
    echo.
    echo 五、本地安全策略--本地策略--安全选项--
    echo     网络访问:本地帐户的共享和安全模式:
    echo     修改为【经典】
    echo.   
    echo ====================================================
    echo                 10 秒后开始执行
    ping -n 10 127.1 2>nul 1>nul

    net user %username% "" 2>nul 1>nul

    echo Windows Registry Editor Version 5.00>%temp%\局域网访问.reg
    echo.>>%temp%\局域网访问.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa]>>%temp%\局域网访问.reg
    echo "restrictanonymous"=dword:00000000>>%temp%\局域网访问.reg
    echo.>>%temp%\局域网访问.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>>%temp%\局域网访问.reg
    echo "restrictanonymous"=dword:00000000>>%temp%\局域网访问.reg
    echo ; 以上两行在系统中的位置是:本地安全策略-安全选项-网络访问:不允许SAM帐户和共享>>%temp%\局域网访问.reg
    echo ; 的匿名枚举。系统默认值是:已停用。>>%temp%\局域网访问.reg
    echo ; 解说:操作系统默认:利用ipc$通道可以建立空连接,匿名枚举出该机有多少帐户。显然>>%temp%\局域网访问.reg
    echo ; 有一定的安全隐患。本系统已设为不允许空连接了。以此提高单机拨号上网的安全性。>>%temp%\局域网访问.reg
    echo ; 负面影响是局域网不能互访了。要更改一下才可以解决。>>%temp%\局域网访问.reg
    echo.>>%temp%\局域网访问.reg
    echo.>>%temp%\局域网访问.reg
    echo.>>%temp%\局域网访问.reg
    echo.>>%temp%\局域网访问.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>>%temp%\局域网访问.reg
    echo "limitblankpassworduse"=dword:00000000>>%temp%\局域网访问.reg
    echo.>>%temp%\局域网访问.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa]>>%temp%\局域网访问.reg
    echo "limitblankpassworduse"=dword:00000000>>%temp%\局域网访问.reg
    echo ; 以上两行在系统中的位置是:本地安全策略--安全选项--帐户:使用空白密码的本地帐户>>%temp%\局域网访问.reg
    echo ; 只允许进行控制台登录。系统默认值是:已启用。>>%temp%\局域网访问.reg
    echo ; 解说:很多人的帐户是不加密码的。这样,当局域网中别的电脑访问本机时,会弹出错误提示:>>%temp%\局域网访问.reg
    echo ; 登录失败:用户帐户限制………。这是XP系统的一条安全策略造成的,防止别人趁你空密码时>>%temp%\局域网访问.reg
    echo ; 进入你的电脑。如果你觉得无所谓,不必做这些限制,那就把它设为:已停用。>>%temp%\局域网访问.reg
    echo.>>%temp%\局域网访问.reg
    echo.>>%temp%\局域网访问.reg
    echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}\Count]>>%temp%\局域网访问.reg
    echo "HRZR_EHAPCY"=hex:0C,00,00,00,26,00,00,00,F0,FB,E5,52,64,95,C6,01>>%temp%\局域网访问.reg
    echo "HRZR_EHAPCY:"P:\JVAQBJF\flfgrz32\sverjnyy.pcy",Jvaqbjf 防火墙"=hex:0C,00,00,00,08,00,00,00,F0,FB,E5,52,64,95,C6,01>>%temp%\局域网访问.reg
    echo.>>%temp%\局域网访问.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]>>%temp%\局域网访问.reg
    echo "445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005">>%temp%\局域网访问.reg
    echo "137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001">>%temp%\局域网访问.reg
    echo "138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002">>%temp%\局域网访问.reg
    echo "139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004">>%temp%\局域网访问.reg
    echo. >>%temp%\局域网访问.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Epoch]>>%temp%\局域网访问.reg
    echo "Epoch"=dword:000001ED>>%temp%\局域网访问.reg
    echo. >>%temp%\局域网访问.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Providers]>>%temp%\局域网访问.reg
    echo "LogonTime"=hex:E8,31,8E,4F,64,95,C6,01>>%temp%\局域网访问.reg
    echo. >>%temp%\局域网访问.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]>>%temp%\局域网访问.reg
    echo "445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005">>%temp%\局域网访问.reg
    echo "137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001">>%temp%\局域网访问.reg
    echo "138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002">>%temp%\局域网访问.reg
    echo "139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004">>%temp%\局域网访问.reg
    echo. >>%temp%\局域网访问.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Epoch]>>%temp%\局域网访问.reg
    echo "Epoch"=dword:000001ED>>%temp%\局域网访问.reg
    echo ; 以上数值对应系统中的位置:控制面板--防火墙--例外--文件和打印机共享。系统默认:不选。>>%temp%\局域网访问.reg
    echo ; 解说:所有的策略都设置好了,局域网依然不能访问,提示:您没有权限使用网络资源,找>>%temp%\局域网访问.reg
    echo ; 不到网络路径!呵呵,真是令人火冒三丈!其实XP还有一道关卡,就是防火墙,必须要经过>>%temp%\局域网访问.reg
    echo ; 防火墙的允许才行。>>%temp%\局域网访问.reg
    echo. >>%temp%\局域网访问.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>>%temp%\局域网访问.reg
    echo "forceguest"=dword:00000000>>%temp%\局域网访问.reg
    echo ; 以上数值对应系统中的位置是:控制面板--管理工具--本地安全策略--本地策略--安全选项,>>%temp%\局域网访问.reg
    echo ; 网络访问:本地帐户的共享和安全模式:仅来宾-本地用户以来宾份验证。这时,当局域网>>%temp%\局域网访问.reg
    echo ; 其他机访问本机时,不会弹出对话框,就可以直接进入。在家庭网等完全可以信任的区域,>>%temp%\局域网访问.reg
    echo ; 建议使用这种方式。>>%temp%\局域网访问.reg
    echo.>>%temp%\局域网访问.reg
    echo. >>%temp%\局域网访问.reg

    regedit /s %temp%\局域网访问.reg
    del %temp%\局域网访问.reg


    ::建立共享
    md d:\%computername%的网络共享
    net share %computername%的网络共享=d:\%computername%的网络共享 /remark:"%computername%的网络共享文件夹"

    :r
    cls
    TITLE 重启
    COLOR 1f
    mode con: cols=60 lines=10

    echo ===========================================
    echo        设置成功,系统重启后生效
    echo ===========================================
    echo      马上重启=Enter     稍后重启=N
    echo ===========================================
    SET a=
    set /p a=请选择....

    if /I "%a%"=="" shutdown -r -f -t 00 & exit
    if /I "%a%"=="N" exit
    cls & echo 无效的输入,请重新选择... & ping -n 3 127.1 & goto :r


    :IP
    cls
    title 设置IP地址
    color 1f
    mode con: cols=60 lines=20
    echo =====================================
    echo 按编号设置IP地址  直接回车= 1 号
    echo =====================================
    set ip=
    set /p ip=请输入本机编号:
    if "%ip%" LEQ "0" (set ip=1)
    if "%ip%"=="" ( set ip=1 )


    cls
    echo =====================================
    echo 按 Y 回车键=确认  直接回车=重新设置
    echo =====================================
    echo    本机 IP :192.168.1.%IP%
    echo =====================================

    set a=
    set /p a=
    if /i "%a%" neq "Y" goto :IP


    echo 本机IP:192.168.1.%ip% > 本机设置.txt

    cls
    echo.
    echo 正在设置IP地址....
    echo.
    ping -n 1 127.1 2>nul 1>nul

    netsh interface ip set address name="本地连接" source=static addr=192.168.1.%IP% mask=255.255.255.0 2>nul 1>nul
    cls

    :PC
    title 设置计算机名称
    color 2f
    mode con: cols=60 lines=20

    echo =====================================
    echo 修改计算机名称     直接回车= sczn0
    echo =====================================
    set pcname=
    set /p pcname=请输入计算机名称:
    if "%pcname%"=="" ( set pcname=sczn0 )

    cls
    echo =====================================
    echo 按 Y 回车键=确认  直接回车=重新设置
    echo =====================================
    echo      本机名称:%pcname%
    echo =====================================
    set a=
    set /p a=
    if /i "%a%" neq "Y" goto :PC


    echo 本机名称:%pcname% >> 本机设置.txt


    cls
    echo.
    echo 正在设置计算机名称....
    echo.
    ping -n 1 127.1 2>nul 1>nul

    reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v ComputerName /t reg_sz /d %pcname% /f
    reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %pcname% /f
    reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %pcname% /f
    cls

    :WORKGROUP
    title 设置计算机名称
    color 2f
    mode con: cols=60 lines=20

    echo =====================================
    echo 修改工作组名称    直接回车= WORKGROUP
    echo =====================================
    set WP=
    set /p WP=请输入工作组名称:
    if "%WP%"=="" ( set a=WORKGROUP )

    cls
    echo =====================================
    echo 按 Y 回车键=确认  直接回车=重新设置
    echo =====================================
    echo    本机所属工作组:%WP%
    echo =====================================
    set a=
    set /p a=
    if /i "%a%" neq "Y" goto :WORKGROUP
    echo 本机所属工作组:%wp% >> 本机设置.txt


    cls
    echo.
    echo 正在设置工作组名称....
    echo.
    ping -n 2 127.1 2>nul 1>nul


    wmic computersystem where Name="%COMPUTERNAME%" call JoinDomainOrWorkgroup Name="%WP%" 2>nul 1>nul


    echo 设置成功,即将重启电脑
    ping -n 5 127.1 2>nul 1>nul
    shutdown -r -f -t 00


    :xz
    cls
    TITLE 设置成功
    COLOR 1f
    mode con: cols=60 lines=10

    echo ===========================================
    echo            是否设置局域网共享
    echo ===========================================
    echo    重启=Enter   设置共享=Y    退出=N
    echo ===========================================
    SET a=
    set /p a=请选择....

    if /I "%a%"=="" shutdown -r -f -t 00 & exit
    if /I "%a%"=="Y" GOTO :GX
    if /I "%a%"=="N" exit
    goto :xz


    :sorry
    mode con: cols=60 lines=20
    ECHO ===============================================
    ECHO   %username%不具备管理权限,无法运行本程序。
    ECHO ===============================================
    ECHO                感谢使用!
    ECHO              程序 10 秒后退出
    ECHO ===============================================
    PING -n 10 127.1 >nul 2>nul
    GOTO :exit

  • 相关阅读:
    sql 删除默认索引,对象 依赖于 列,由于一个或多个对象访问此列
    sql 重复数据查询
    Sql 查询结果 根据某个字段值 变更另外一个字段值 case when
    使用ABP框架踩过的坑系列3
    使用ABP框架踩过的坑系列5
    使用ABP框架踩过的坑系列4
    使用ABP框架踩过的坑系列2
    使用ABP框架踩过的坑系列1
    java rest框架jersey数组单记录问题解决
    测试工程师面试常见逻辑题
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/1994896.html
Copyright © 2011-2022 走看看