none
批处理专题(以收集为主) RRS feed

  • 常规讨论

  •  

    ======强制刷新组策略和注册表======
    xp/2003
    命令
    gpupdate /force
    2k
    命令
    secedit /refreshpolicy machine_policy /enforce

     

     

    ====== 批处理修改IE主页(斑竹dseation的帖上搞来的)======
    @reg delete "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "Start Page" /f
    @reg add "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "Start Page" /d "http://192.168.0.250" /f

     

     

    ====== 批处理读取注册表run下的内容======

    @echo off
    for /f "tokens=2 delims=:" %%i in ('reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run') do echo %systemDrive%%%i
    pause>nul

     

    ====== 按照扩展名分类======

    for %%i in (*) do (md %%~xi
    move *%%~xi %%~xi)
    pause

     

    ====== 生成目录树结构======

    @rem 此BAT文件名一定不能是"tree.bat",否则tree命令会实效,不知道为什么
    @rem 可能是因为系统目录有"tree.com",系统会混淆吧.
    @rem 用"dir.bat"作文件名却可以.
    @echo off
    rem 在当前目录生成很漂亮的结构树
    tree /f > 1.TXT

    rem 象DIR命令一样,不过每个下级目录文件也列出
    DIR /S > 2.txt

    rem 简洁地列出目录当前目录文件
    DIR /d > 3.txt

     

     

    ====== 解锁注册表======

    @reg  add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableRegistryTools /t reg_dword /d 00000000 /f
    start regedit

     

     

    ====== 锁注册表======

    @reg  add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableRegistryTools /t reg_dword /d 00000001 /f

     

    ====== 判断分区格式======

    @echo off
    :1
    cls
    set/p pan=请输入要测试的盘符 (不带冒号)  
    for /f "tokens=1,2" %%i in ('chkntfs %pan%:') do (
        set var=%%j
        goto type
    )
    goto :eof
    :type
    set var=%var:。=%
    echo %pan%的文件系统类型是 %var%
    pause>nul
    goto 1

     

    ====== 中文显示ping结果======

    @echo off
    color f2
    echo.
    set for=于
    set of=的
    set with=用
    set in=(以
    set data:=数据
    set milli-seconds:=毫秒为单位)
    set Approximate=大约
    set times=时间:
    set round=来回
    set trip=行程
    set Reply=应答
    set from=来自
    set bytes=字节
    set time=时间:
    set timed=时间
    set out=超过
    set statistics=统计
    set Packets:=包:
    set Sent=已发送=
    set Received=已收到=
    set Lost=已丢失=
    set loss)=丢失)
    set Minimum=最小值=
    set Maximum=最大值=
    set Average=平均值=
    set TTL=TTL=
    setlocal enabledelayedexpansion
    set a=
    set/p a=请输入要ping的网址或IP  
    for /f "delims=" %%i in ('ping %a%') do (
        set ret=
        for %%a in (%%i) do if defined %%a (set ret=!ret!!%%a!) else set ret=!ret! %%a
        if not "!ret!"=="" (set ret=!ret:time=时间! && echo !ret!) else echo.
    )
    pause>nul

     

    ====== 自定义网络参数======

    @echo off
    set slection1=
    set/p slection1=请输入IP地址:
    netsh interface ip set address name="本地连接" source=static addr=%slection1% mask=255.255.255.0
    set slection2=
    set/p slection2=请输入网关地址:
    netsh interface ip set address name="本地连接" gateway=%slection2% gwmetric=0

    set slection3=
    set/p slection3=请输入主dns地址
    netsh interface ip set dns name="本地连接" source=static addr=%slection3% register=PRIMARY

    set slection4=
    set/p slection4=请输入备份dns地址
    netsh interface ip add dns name="本地连接" addr=%slection4%
    netsh interface ip set wins name="本地连接" source=static addr=none
    pause

    2008年12月17日 6:49
    版主

全部回复

  • 有没有有自动设置主机名的啊
    2009年1月4日 11:54
  •  

    有的 不过是au3的代码。powershell也有对应的脚本。
    2009年1月6日 6:36
    版主
  • 批处理是很早前的东西了,但是它的强大丝毫不比现在的.NET,因为你要执行一些很基本的管理功能时,还是CMD最能满足需求。:)

    2009年1月16日 1:59
    版主
  • 谢谢 shiny zhu大哥

     命令行这东西真的很强大。 从最早带参数的dos命令开始批处理就一直陪着我们。

    powershell 这个宝贝随着win7进入我们的视野。这个新生代的命令行工具又将给予脚本新的生命力。

    2009年1月16日 3:07
    版主