bat實例

1.建立以當前時間命名的文件夾函數

@echo off
echo %date%
set current_date=%date:~0,4%%date:~5,2%%date:~8,2%
set current_time=%time:~0,2%%time:~3,2%%time:~6,2%
set filename=%current_date%%current_time%
echo %filename%
mkdir %filename%

 2.全盤符搜索文件spa

@echo off
set "FileName=AutoCreateDir.bat"
for %%a in (E F G) do (
  ::若是存在該盤符
  if exist %%a:\ (
    echo Finding in disk %%a
    for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%FileName%" 2^>nul') do (
      if /i "%%~nxb" equ "%FileName%" (
        echo Find %FileName% in %cd%
        call AutoCreateDir.bat
        ::退出循環
        GOTO :END
      )
    )
  )
)
:END
echo Find file finished.

 3.變量自增code

::在循環中變量自增後,由於批處理運行命令的機制,直到循環結束該變量值才能正確打印顯示出來。
::使用setlocal enabledelayedexpansion後能夠在循環中正確打印顯示變量的值,須要用!!括起來
@echo off
setlocal enabledelayedexpansion
set /a a=2
for /l %%c in (1 1 10) do (
    set /a a+=1
    echo !a!
)
echo %a%
pause

 4.將目錄下全部文件改名爲指定名稱(不包含子目錄)xml

@echo off  
setlocal enabledelayedexpansion  
cd %cd%\test
echo %cd%
set a=0
::在當前目錄循環遍歷全部文件,不遍歷子目錄
for %%i in (*.*) do ( 
    :: /a表示要進行數學運算
    set /a a+=1  
    if /i not "%%~xi"==".bat" ( 
        ren "%%i" "!a!.txt" 
        echo Rename %%i to !a!.txt.
    )
)  
pause 

 5.將文件按照類型分類存儲在不一樣文件夾下blog

@echo off 
set usage=E:\version\test
::待拆分的源文件夾 srcdir
set src=srcdir
rem 拆分的目標文件夾 ClassifyDir
set dest=ClassifyDir

::建立分類文件夾
if not exist %dest%\bats (
    mkdir %dest%\bats
)
if not exist %dest%\txts (
    mkdir %dest%\txts
)
 
for /f "delims=" %%i in ('dir /b /s /a-d %src%') do ( 
    if /i "%%~xi"==".bat" (
        copy "%%i" "%dest%\bats\%%~nxi"  
    ) else if /i "%%~xi"==".txt" (
        copy "%%i" "%dest%\txts\%%~nxi"  
    )
)

6.倒計時5s計時器ip

@ECHO OFF
:: 5s倒計時計數器
:: 1.以a=(5,4,3,2,1)的順序進行循環
:: 2.ping的參數,-n 2表示ping兩次
:: 3.>NUL表示不回顯在cmd
FOR /l %%a in (5,-1,1) do (
    echo closing in %%as&ping -n 2 127.0.0.1>NUL
)

7.尋找文件名包含某個字符串的文件rem

@echo off
:: findstr /C:字符串,表示搜索某個字符串
for /f "delims=" %%i in ('dir /b^|findstr /C:test') do ( @echo %%i ) pause

 8.自動解壓安裝版本字符串

@echo off
set filetounzip="\\U31V12.17.20B05-20170713-CGSL-JDK8.zip" set versionpath="U31V12.17.20B05-20170713-CGSL-JDK8" set currentpath=%cd% set xmlpath="c:\version\bats\auto_installtion_client.xml" set setupbatpath="c:\version\bats\silent-setup.bat" set confpath="\\conf" ::若是存在該文件夾則刪除 echo %currentpath%\%versionpath% if exist %currentpath%\%versionpath% ( rd /s /Q %currentpath%\%versionpath% ) else ( md %versionpath% ) ::解壓文件 cd C:\AutoInstall\tool\HaoZip HaoZipC x %currentpath%\%filetounzip% -o%currentpath%\%versionpath% ::進入下載的版本文件路徑 set FILES= for /f "delims=" %%i in ('dir /b %currentpath%\%versionpath%') do (set FILES=%FILES%%%i) echo %FILES% echo %currentpath%\%versionpath%\%FILES% cd %currentpath%\%versionpath%\%FILES% ::替換xml和bat文件 copy %xmlpath% %currentpath%\%versionpath%\%FILES%%confpath% echo copy xml finished copy %setupbatpath% %currentpath%\%versionpath%\%FILES% echo copy bat finished ::執行安裝腳本 call silent-setup.bat

 

函數調用cmd

sh腳本 function hello() { echo "Hello!"; } function hello_param() { echo "Hello $1 !"; } echo "無參函數調用"; hello; echo "函數傳參調用"; hello_param ben;
相關文章
相關標籤/搜索