目錄
- 第一章、快速了解Windows批處理
- 1.1)Windows批處理相關概念介紹
- 1.1.1)批處理的起源
- 1.1.2)bat文件介紹
- 1.2)Demo
- 1.2.1)創建文件添加命令
- 1.2.2)bat腳本中的命令解釋
- 第二章、實例
- 2.1)點擊bat文件,批量備份文件
- 2.1.1)定期將重要文件復制到備份目錄,以防止數據丟失。
- 2.1.2)命令解釋
- 2.2)點擊bat文件,批量修改文件名稱
- 2.2.1)D盤times下文件名中添加統一日期前綴
- 2.2.2)命令解釋
- 2.2.3)D盤times下文件名中批量刪除特定的字符
- 2.2.4)命令解釋
- 2.3)點擊bat文件,自動清理臨時文件:
- 2.4)自動化測試和部署
- 第三章、批處理文件中的命令集合
- 3.1)常用命令
- 3.2)不常用命令
- 3.3)其他命令
友情提醒:
先看文章目錄,大致了解文章知識點結構,點擊文章目錄可直接跳轉到文章指定位置。
第一章、快速了解Windows批處理
1.1)Windows批處理相關概念介紹
1.1.1)批處理的起源
①批處理(Batch),也稱為批處理腳本。在計算機系統還是DOS(磁盤操作系統是一種早期的命令行操作系統)時期時被大量使用,用來對某對象進行批量的處理,通常被認為是一種簡化的腳本語言,現在它應用于DOS和Windows系統中。批處理文件的擴展名為.bat(即是batch的縮寫)簡稱 BAT文件 。
②在Windows NT以后的平臺中,還加入了以.cmd為擴展名的批處理文件,其性能比.bat文件更加優越,執行也與.bat文件一樣方便快捷。
1.1.2)bat文件介紹
bat文件介紹
批處理文件通常使用 .bat 或 .cmd 擴展名,并且可以包含用于執行各種任務的命令,例如文件操作、系統管理和自動化任務。Windows批處理文件可以通過文本編輯器創建,并且可以在命令提示符窗口中運行。這些命令在雙擊文件時按順序執行。
解決了什么問題
Windows批處理文件解決了許多自動化任務和系統管理問題。它們允許用戶編寫一系列命令,在雙擊文件時自動執行這些命令。這樣可以簡化重復性任務的執行,提高效率,簡化復雜任務的執行,從而減少人為錯誤。
1.2)Demo
1.2.1)創建文件添加命令
①創建一個擴展名為 .bat 的文件
創建echo.bat文件
②使用記事本/文本文檔方式打開,在其中添加以下命令:
@echo off
echo helloworld
pause
③雙擊bat文件
1.2.2)bat腳本中的命令解釋
rem
命令是用來添加注釋的
@echo off
命令用于關閉命令提示符窗口中的命令回顯。
echo helloworld
用于在控制臺打印 “helloworld”。
pause
命令用于暫停控制臺,以便你可以看到 “helloworld” 的輸出。
雙擊運行
,將在控制臺中看到 “helloworld” 的輸出。
第二章、實例
2.1)點擊bat文件,批量備份文件
2.1.1)定期將重要文件復制到備份目錄,以防止數據丟失。
在filebak.bat文件中加入以下命令:
@echo off
set source=E:\test.doc
set destination=D:\Backupxcopy %source% %destination% /E /C /H /R /Y
2.1.2)命令解釋
@echo off
:關閉批處理文件的命令回顯,這樣在執行過程中不會顯示每個命令的詳細信息。
set source=E:\test.doc
:設置一個名為source的變量,其值為E:\test.doc,這是想要備份的重要文件的路徑。
set destination=D:\Backup
:設置一個名為destination的變量,其值為D:\Backup,這是想要將文件備份到的目標目錄路徑。
xcopy %source% %destination% /E /C /H /R /Y
:這是實際執行文件復制的命令。
xcopy
:用于復制文件和目錄的命令。
%source%和%destination%
:之前設置的變量
/E表示復制目錄和子目錄,/C表示繼續復制,即使出現錯誤,
/H表示復制隱藏文件,/R表示覆蓋只讀文件,
/Y表示在不提示的情況下覆蓋現有文件。
2.2)點擊bat文件,批量修改文件名稱
2.2.1)D盤times下文件名中添加統一日期前綴
添加前文件名稱如下:
timeformat.bat文件中添加如下命令,并執行bat文件
@echo off
setlocal enabledelayedexpansioncd /d D:\timesfor %%F in (*) do (set "filename=%%~nF"set "extension=%%~xF"set "datestamp=!date:~0,4!!date:~5,2!!date:~8,2!"set "names=qq"ren "%%F" "!names!-!datestamp!-!filename!!extension!"
)
執行timeformat.bat文件后:
2.2.2)命令解釋
@echo off
:關閉命令回顯,這樣在執行過程中不會顯示每個命令的詳細信息。
setlocal enabledelayedexpansion
:啟用延遲環境變量擴展,這允許在循環中使用!來獲取變量的延遲擴展值。
cd /d D:\times
:切換當前目錄到D:\times。
for %%F in (*) do (...)
:這是一個循環命令,用于遍歷當前目錄中的所有文件。
set "filename=%%~nF"
:將文件名存儲在filename變量中。
set "extension=%%~xF"
:將文件擴展名存儲在extension變量中。
set "datestamp="
:創建一個名為datestamp的變量,其中包含當前日期的格式化字符串。
!date:~0,4!
:表示從當前日期中提取從第0個位置開始的4個字符,即年份部分。
!date:~5,2!
:表示從當前日期中提取從第5個位置開始的2個字符,即月份部分。
!date:~8,2!
:表示從當前日期中提取從第8個位置開始的2個字符,即日期部分。
ren "%%F" "!datestamp!-!filename!!extension!"
:使用ren命令將文件重命名為包含日期前綴的新文件名。
2.2.3)D盤times下文件名中批量刪除特定的字符
刪除前:
deleteFileName.bat文件中添加如下命令,并執行bat文件
@echo offsetlocal enabledelayedexpansioncd /d D:\timesrem 設置要刪除的指定字符
set "char=extension"for %%F in (*) do (set "filename=%%~nF"set "extension=%%~xF"rem 刪除文件名中的指定字符set "newname=!filename:%char%=!"ren "%%F" "!newname!!extension!"
)echo 文件名中的指定字符統一刪除完成。
執行deleteFileName.bat文件后
2.2.4)命令解釋
set "char=extension"
:設置要刪除的指定字符為"extension"。這里的"extension"是一個示例,你可以將其替換為你想要刪除的具體字符內容。
for %%F in (*) do (...)
:遍歷當前目錄下的所有文件。
set "filename=%%~nF"
:獲取文件名部分并賦值給變量filename。
set "extension=%%~xF
":獲取文件擴展名部分并賦值給變量extension。
set "newname=!filename:%char%=!"
:使用延遲變量擴展,將文件名中的指定字符(在這里是"extension")替換為空,得到新的文件名并賦值給變量newname。
ren "%%F" "!newname!!extension!"
:使用ren命令將文件重命名為新的文件名。
2.3)點擊bat文件,自動清理臨時文件:
用于定期清理系統中的臨時文件和緩存,以釋放磁盤空間。不過感覺還是不要清理了,容易清理錯重要文件
@echo off
echo 正在清理臨時文件,請稍候...
rem 清理臨時文件
del /q /s %temp%\*.*
rem 清理緩存
del /q /s "C:\Windows\SoftwareDistribution\Download\*.*"
echo 臨時文件和緩存清理完成。
2.4)自動化測試和部署
使用批處理文件來自動化軟件測試和部署過程,以節省時間和減少人為錯誤。
這個太復雜了,算了不學這個,了解了解得了
第三章、批處理文件中的命令集合
3.1)常用命令
項目 | Value |
---|---|
@echo off: | 關閉命令回顯,使得在運行批處理文件時不顯示每條命令的執行結果。 |
echo: | 用于在命令行中顯示文本或變量的值。 |
set: | 用于設置和顯示環境變量。 |
cd: | 用于改變當前目錄。 |
dir: | 顯示目錄中的文件和子目錄列表。 |
copy: | 復制文件。 |
del: | 刪除文件。 |
ren: | 重命名文件。 |
start: | 啟動一個新窗口來運行指定的程序或命令。 |
pause: | 暫停批處理文件的執行,等待用戶按下任意鍵繼續。 |
md: | 創建當前位置的新目錄。 |
move: | 移動文件或目錄到另一個目錄。 |
exit: | 退出DOS控制臺。 |
3.2)不常用命令
項目 | Value |
---|---|
assoc: | 將文件擴展名與文件類型關聯起來,顯示現有的關聯,或刪除關聯。 |
chkdsk: | 檢查磁盤是否存在問題。 |
choice: | 向用戶提供選項列表。 |
convert: | 將卷從FAT16或FAT32文件系統轉換為NTFS文件系統。 |
driverquery: | 顯示所有已安裝的設備驅動程序及其屬性。 |
expand: | 從壓縮的.cab文件中提取文件。 |
find: | 在文件或輸入中搜索字符串,并輸出匹配的行。 |
label: | 添加、設置或刪除磁盤標簽。 |
more: | 逐屏顯示文件或文件的內容。 |
subst: | 為本地文件夾分配驅動器號,顯示當前 |
3.3)其他命令
如果電腦安裝了Java的JDK,批處理文件可以使用JDK
提供的命令。
在批處理文件中,就可以使用javac命令來編譯Java源文件,使用java命令來運行Java應用程序,以及其他JDK提供的命令。
REM 編譯Java源文件
javac YourJavaFile.javaREM 運行Java應用程序
java YourJavaProgram
同理如果電腦安裝了MySQL批處理文件可以使用MySQL提供的命令
REM 通過批處理文件運行MySQL命令
mysql -h hostname -u username -p < yourscript.sql