码迷,mamicode.com
首页 > 其他好文 > 详细

CMD脚本应用收集

时间:2015-11-04 17:49:27      阅读:314      评论:0      收藏:0      [点我收藏+]

标签:

在Windows系统下,扩展名为cmd/bat的文件被称为批处理文件。可以用来做一些重复性的工作,也可以用来做一些用鼠标无法(快速)完成的工作。从我有第一台电脑时起,我就一直在学习它。不过,后来因为工作原因和个人的一点癖好,我对它的学习热情已经告一段落,但是不可否认的是,它的确很有用。

扯远了,回归正题。我看到电脑上那若干个批处理文件,又暂时用不上。删掉了吧,怕将来要用;不删吧,看着心烦。所以全部抄录于此,给自己备用,也分享给大家。

本文不定期更新……

注意:如无特殊说明,本文代码一律“.cmd”的文件中执行。

加密批处理代码

本段代码出处已经忘记,只记得是提取自某个bat转exe的工具。以前很痴迷于让一般电脑用户看不到自己写的代码,现在想想,其实没什么必要。毕竟所谓的加密,也只是转码一下,让“记事本”打开显示为乱码而已。

@IF NOT EXIST "%~F1" (EXIT) ELSE (ECHO EXIT | CMD /K PROMPT E100 FF FE 20 26 63 6C 73 0D 0A $_RCX$_9$_N TMP.K$_W$_Q$_|DEBUG) && @COPY TMP.K + "%~F1" "%~DPN1_JM%~X1" && DEL TMP.K

修复“Word遇到问题需要关闭及安全模式”

那一年,我还在用着XP系统和Microsoft Office 2003,也是那一年,我遇到了这个问题,从“度娘”那儿寻得答案,删掉模板就好。然后写了这个批处理备用。

@IF EXIST "%APPDATA%\MICROSOFT\TEMPLATES\NORMAL.DOT" DEL /A /F /Q "%APPDATA%\MICROSOFT\TEMPLATES\NORMAL.DOT" && EXIT

关闭默认共享

还是那一年,XP系统装好后,貌似总是会有“C$、D$……Admin$”等默认共享,听说安全问题很严重,虽然可以用“NET”命令去删除共享,但是治标不治本。治本的方法还得靠修改注册表……

@ECHO OFF
REM 关闭磁盘默认共享
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /V AutoShareServer /T REG_DWORD /D 0 /F

REM 关闭Admin$默认共享
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /V AutoShareWKS /T REG_DWORD /D 0 /F

禁用本地连接的属性

曾经工作于某工作室,当时仅BOSS电脑可以联网。然后,聪明的我机智的发现将MAC地址修改成与BOSS电脑一样即可联网。在掀起一波改MAC地址的浪潮后,被BOSS通告,不能再让其它人修改MAC地址了。于是被迫禁用别个电脑上“本地连接”的属性……

@regsvr32 /s /u Netcfgx.dll
@regsvr32 /s /u Netman.dll
@regsvr32 /s /u Netshell.dll

MAC地址修改

我一直就是一个很“懒”的人,当初为了偷网,找到了从“本地连接”的属性中修改MAC地址的方法,后来想想,每次修改这么麻烦,于是写了个批处理用于修改MAC地址(更何况不是为了响应BOSS的号召,把本地连接的属性给禁用了么)。需要说明的是,本批处理,也是在XP系统下诞生的,Win7系统的话,可能需要稍加修改。[需要用到devcon.exe]

@ECHO OFF

IPCONFIG | FIND "Media disconnected" >NUL 2>NUL && CALL :ERROR 1

SETLOCAL ENABLEDELAYEDEXPANSION

FOR /F "SKIP=3 TOKENS=1 DELIMS= " %%I IN (‘GETMAC‘) DO (
    SET MACNUM=%%I
    SET MACNUM=!MACNUM:-=!
    ECHO.
    ECHO 请输入一个正确的MAC地址,例本机MAC地址为:!MACNUM!
    ECHO.
    ECHO (提示:MAC地址仅由数字与字母组成,且为12位)
    ECHO.
)

SETLOCAL DISABLEDELAYEDEXPANSION

SET /P NUMBER=在此处输入一个12位的MAC地址:

:BEGIN
IF NOT DEFINED NUMBER CALL :ERROR 2

SET KEY1=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}
SET KEY2=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}
SET KEY3=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}
SET KEY4=Ndi\params

FOR /L %%I IN (1 1 20) DO (
    IF %%I LEQ 9 (
        REG QUERY %KEY1%\000%%I\%KEY4% >NUL 2>NUL && REG ADD %KEY1%\000%%I /V NetworkAddress /T REG_SZ /D %NUMBER% /F >NUL 2>NUL
        REG QUERY %KEY2%\000%%I\%KEY4% >NUL 2>NUL && REG ADD %KEY2%\000%%I /V NetworkAddress /T REG_SZ /D %NUMBER% /F >NUL 2>NUL
        REG QUERY %KEY3%\000%%I\%KEY4% >NUL 2>NUL && REG ADD %KEY3%\000%%I /V NetworkAddress /T REG_SZ /D %NUMBER% /F >NUL 2>NUL
    )
    IF %%I GEQ 10 (
        REG QUERY %KEY1%\00%%I\%KEY4% >NUL 2>NUL && REG ADD %KEY1%\00%%I /V NetworkAddress /T REG_SZ /D %NUMBER% /F >NUL 2>NUL
        REG QUERY %KEY2%\00%%I\%KEY4% >NUL 2>NUL && REG ADD %KEY2%\00%%I /V NetworkAddress /T REG_SZ /D %NUMBER% /F >NUL 2>NUL
        REG QUERY %KEY3%\00%%I\%KEY4% >NUL 2>NUL && REG ADD %KEY3%\00%%I /V NetworkAddress /T REG_SZ /D %NUMBER% /F >NUL 2>NUL
    )
)

FOR /F "DELIMS=: TOKENS=2" %%I IN (‘IPCONFIG /ALL ^| FIND "Description"‘) DO (
    FOR /F "DELIMS=^& TOKENS=2" %%J IN (‘DEVCON FIND PCI\* ^| FIND "%%I"‘) DO DEVCON RESTART *%%J* >NUL 2>NUL
    IF ERRORLEVEL 1 CALL :ERROR 3
    IF ERRORLEVEL 0 (
        ECHO.
        ECHO 重启网卡成功……
        ECHO.
    )
)

GOTO QUIT

:ERROR
ECHO.
IF %1 EQU 1 ECHO 网线被拔出,或网卡驱动没有装好,请检查网络连接!
IF %1 EQU 2 ECHO 未知的MAC地址!
IF %1 EQU 3 ECHO 网卡重启失败,请手动重新启用网络连接,或重新启动计算机。 && NCPA.CPL
ECHO.
GOTO QUIT

:QUIT
PAUSE
EXIT

MAC地址恢复

做事要成双成对才好啊,有修改就得有恢复嘛。[需要用到devcon.exe]

@ECHO OFF

SET KEY1=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}
SET KEY2=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}
SET KEY3=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}
SET KEY4=Ndi\params

FOR /L %%I IN (1 1 20) DO (
IF %%I LEQ 9 (
REG QUERY %KEY1%\000%%I\%KEY4% >NUL 2>NUL && REG DELETE %KEY1%\000%%I /V NetworkAddress /F >NUL 2>NUL
REG QUERY %KEY2%\000%%I\%KEY4% >NUL 2>NUL && REG DELETE %KEY2%\000%%I /V NetworkAddress /F >NUL 2>NUL
REG QUERY %KEY3%\000%%I\%KEY4% >NUL 2>NUL && REG DELETE %KEY3%\000%%I /V NetworkAddress /F >NUL 2>NUL
)
IF %%I GEQ 10 (
REG QUERY %KEY1%\00%%I\%KEY4% >NUL 2>NUL && REG DELETE %KEY1%\00%%I /V NetworkAddress /F >NUL 2>NUL
REG QUERY %KEY2%\00%%I\%KEY4% >NUL 2>NUL && REG DELETE %KEY2%\00%%I /V NetworkAddress /F >NUL 2>NUL
REG QUERY %KEY3%\00%%I\%KEY4% >NUL 2>NUL && REG DELETE %KEY3%\00%%I /V NetworkAddress /F >NUL 2>NUL
)
)

FOR /F "DELIMS=: TOKENS=2" %%I IN (‘IPCONFIG /ALL ^| FIND "Description"‘) DO (
    FOR /F "DELIMS=^& TOKENS=2" %%J IN (‘DEVCON FIND PCI\* ^| FIND "%%I"‘) DO DEVCON RESTART *%%J* >NUL 2>NUL
    IF ERRORLEVEL 1 ECHO 网卡重启失败,请手动重新启用网络连接,或重新启动计算机。 && NCPA.CPL
    IF ERRORLEVEL 0 ECHO 重启网卡成功……
)

PAUSE
EXIT

限制本地用户登录时间

 这个,用处不是很大,其实主要还是用来防止“小白们”(勿喷,我自己也算小白啊)使用自己在公司的电脑。所以限制开机时间只能是每天早上的8点到下午的6点。

@NET USER %USERNAME% /TIME:M,8AM-6PM;T,8AM-6PM;W,8AM-6PM;Th,8AM-6PM;F,8AM-6PM;Sa,8AM-6PM;Su,8AM-6PM

CMD脚本应用收集

标签:

原文地址:http://www.cnblogs.com/jinlongpz/p/4934101.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!