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 的安裝目錄,不做任何設置,現在退出環境變量設置。
)
)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章