bat命令 实践

来源:互联网 发布:数据库入侵痕迹 编辑:程序博客网 时间:2024/06/16 13:08
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 *.JPGfor /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 offIF 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 的安装目录,不做任何设置,现在退出环境变量设置。))


原创粉丝点击