zoukankan      html  css  js  c++  java
  • bat命令 实践

    1. 调用其他程序时,对文件的大小写不敏感,文件后缀也可忽略
           如:start LeapFTP.exe  与 start leapftp 效果一样,都是运行“LeapFTP.exe”文件
           每行的开头的字符串会自动查找程序来运行,还可用双引号引起来(文件名或目录名含空格时必须用)
           如:"D:\Program Files\Leap FTP.exe"
           "LeapFTP.exe" 可正常运行文件,start "" "LeapFTP.exe" 也可以正常运行文件(注意,第一个参数是窗口显示的标题)
        3. copy C:\test\*.* D:\back  (复制C盘test文件夹的所有文件(不包括文件夹及子文件夹里的东西)到D盘的back文件夹)
        4. dir c:\*.* > a.txt (将c盘文件列表写入 a.txt 中)
        5.  > 生成文件并写入内容(如果有这文件则覆盖),  >> 文件里追加内容
        6. md d:\aa (创建文件夹)
        7. 在命令末尾加上“>NUL 2>NUL”,表示隐蔽返回信息。
        8. 等待用户输入: set /p 变量名=屏幕显示信息。  Sample:set /p pass=请输入密码:
        9. 让用户按回车退出
           小技巧(替代pause),文件的最后一句:set /p tmp=操作结束,请按回车键退出...
        10.设置标题: title JDK安装
        11.设置屏幕显示颜色,如绿色: color 0a
        12.清屏: cls
        13.查看自己的IP:
           for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
           echo %ip% (这时的 %ip% 就是自己的IP地址)
    
        14. 修改文件的更新日期
            copy 文件名+,,>nul  (修改为当前时间,如果要修改为指定时间,先修改系统时间,再改回系统时间)
        15. 修改文件的后缀名
            ren C:\test\*.jpg *.JPG
    	for /r %%c in (*.jpg) do (ren %%c *.JPG)  :: 修改当前目录下的所有文件的后缀名,包括子目录的
        16. 修改文件的文件名
            rename test.jpg test2.JPG
            rename *.jpg *.888.JPG
        17. 查看DNS、IP、Mac等
            1) Win98: winipcfg
            2) Win2000以上: Ipconfig /all
            3) NSLOOKUP
        18.查看IP上的共享资源,就可以
            net view 192.168.10.8
        19.共享
            A.查看你机器的共享资源: net share
            B.手工删除共享
              net share 共享资源名称$ /d
              注意$后有空格。
            C.增加一个共享:
              net share mymovie=e:\downloads\movie /users:3
              mymovie 共享成功。 同时限制链接用户数为3人。
        20.打开某网站
              start iexplore.exe http://www.baidu.com
    实例:
        1. 生成 reg 文件,运行它,再删除它
            echo "更改windows安装文件的路径"
            echo Windows Registry Editor Version 5.00 > c:\setupreg.reg
            echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup] >> c:\setupreg.reg
            echo "ServicePackSourcePath"="D:\\Win2003\\" >> c:\setupreg.reg
            echo "SourcePath"="D:\\Win2003\\" >> c:\setupreg.reg
            :: 写入注册表
            regedit /S c:\setupreg.reg
            :: 删除注册表文件
            del c:\setupreg.reg
    
        2.调用了exe文件,结束后没有关闭,解决方式
           用start命令运行文件,如:
           start LeapFTP.exe 192.168.0.100
    
        3.设置系统环境变量
          :: 有这个环境变量,则不需再设置,直接结束
          if not "%JAVA_HOME%" == "" exit
          :: 设置环境变量的地址
          set inputJavaHome=%cd%\jdk1.6.0_07
          :: 设置环境变量,也可以设置当前用户的变量
          set EnvironmentHome=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
          echo 正在设置环境变量,请稍候......
          reg add "%EnvironmentHome%" /v JAVA_HOME /t reg_sz /d "%inputJavaHome%" /f
          reg add "%EnvironmentHome%" /v ClassPath /t reg_sz /d ".;%%JAVA_HOME%%\lib" /f
          reg add "%EnvironmentHome%" /v Path /t reg_sz /d "%%JAVA_HOME%%\bin;%Path%" /f]
          :: 刷新,令环境变量生效
          taskkill /f /im explorer.exe >nul
          start "" "explorer.exe"
    
        4.隐藏某目录的所有文件及文件夹
          cd /d 要隐藏的目录(如:D:)
          for /f "usebackq delims=" %%A in (`dir /a /b`) do (attrib "%%A" -r +h -s)
    
        5.在批处理中使用密码。密码为admin,输入正确,跳转到next1 ,若输入密码错误3次,则锁屏。。
          @echo off
          set num=0
          :11
          set /p pass=请输入密码:
          if "%pass%"=="admin" goto next1
          set /a num=%num% + 1
          if %num%==3 goto no1
          goto 11
          :no1
          %windir%\system32\rundll32.exe user32.dll,LockWorkStation
          goto 11
          :next1
          echo 密码正确,执行下面的程式
          pause
        6.让系统断断续续地鸣叫
          @echo off
          :begin
          :: 发出鸣叫(“”实际就是ASCII码值为7的特殊字符(蜂鸣键beep)
          echo 
          :: 让程序暂停一小阵子
          ping -n 1 -l 1 127.1>nul
          goto :begin
    
        7.将 FAT 卷转换成 NTFS
           利用“CONVERT.exe”进行,解析如下:
            CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]
              volume      指定驱动器号(后面跟一个冒号)、装载点或卷名。
              /FS:NTFS    指定要被转换成 NTFS 的卷。
              /V          指定 Convert 应该用详述模式运行。
              /CvtArea:filename
                          将根目录中的一个接续文件指定为NTFS 系统文件的占位符。
              /NoSecurity 指定每个人都可以访问转换的文件和目录的安全设置。
              /X          如果必要,先强行卸载卷。该卷的所有打开的句柄则无效。
    
            程序如下:
            @ ECHO OFF
            @ ECHO.
            @ ECHO.                               说   明
            @ ECHO --------------------------------------------------------------------------
            @ ECHO NTFS是一种磁盘格式。该格式能存放大于4G的单个文件(如高清电影文件),并可对
            @ ECHO 文件夹进行加密,但有个缺点是DOS下无法访问。建议D盘及其后的盘使用NTFS格式,
            @ ECHO C盘如非必要可以不转换,FAT32与NTFS这两种格式的读写速度几乎是没有差别的。
            @ ECHO --------------------------------------------------------------------------
            @ ECHO.
            convert c: /fs:ntfs
            :: D盘也转成 NTFS
            convert d: /fs:ntfs
    
        8. 获取我的文档
            SET SF="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
            FOR /F "tokens=2,*" %%I IN ('REG QUERY %SF% /v Personal 2^>NUL^|FIND /I "Personal"') DO SET "myDoc=%%~J"
            :: 复制文件到我的文档
            XCOPY /D /E /R /Y /C  "%cd%\test.txt" "%myDoc%\test\"

    @echo off    //不显示shell的命令。
    Setlocal         //环境改变只适用于这个文件。
    %OS%       //为当前的操作系统。
    Rem              //注释一行文本。
    Goto 标签   //改变执行顺序,去标签位置.
    :标签           //定义一个标签。
    Set 变量名=值   //定义变量
    Not         //取反
    Netstat –na   //显示当前被点用的端口.
    %0  %1  %2  //用于表示批处理文件的参数0为命令,共1-9个参数。
    Shift                     //用于向前一个参数,原1变0,原2变1.每调用一次shift向前一移动一位。
    Call               //调用其他批处理文件或命令。
    Start 命令 参数   //指示出在另一个窗口中开始运行命令。
    
    
    
    
    =============================================================
    :: 自动设置Java环境变量
    
    @echo off
    IF EXIST %1\bin\javaw.exe (
    rem 如输入正确的 JDK 安装目录,开始设置环境变量
    @setx JAVA_HOME %1
    @setx path %path%;%JAVA_HOME%\bin
    @setx classpath %classpath%;.
    @setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar
    @setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar
    @setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar
    @echo on
    @echo JDK 环境参数设置完毕,正常退出。
    ) ELSE (
    IF "%1"=="" (
    rem 如没有提供安装目录,提示之后退出
    @echo on
    @echo 没有提供 JDK 的安装目录,不做任何设置,现在退出环境变量设置。
    ) ELSE (
    rem 如果提供非空的安装目录但没有bin\javaw.exe,则指定的目录为错误的目录
    @echo on
    @echo 非法的 JDK 的安装目录,不做任何设置,现在退出环境变量设置。
    )
    )
    


  • 相关阅读:
    Python中的生成器与yield
    【爬虫系列】(一)最简单的爬虫
    【刷题笔记】--lintcode木头加工(java)
    使用TaskManager爬取2万条代理IP实现自动投票功能
    开源任务管理平台TaskManager介绍
    数据字典生成工具之旅系列文章导航
    使用工具安装,运行,停止,卸载Window服务
    Quartz Cron表达式 在线生成器
    Oracle .NET Core Beta驱动已出,自己动手写EF Core Oracle
    .net core2.0下Ioc容器Autofac使用
  • 原文地址:https://www.cnblogs.com/liubo6/p/4491116.html
Copyright © 2011-2022 走看看