Windows批處理:bat文件學習

目錄

  • 第一章、快速了解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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719362.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719362.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719362.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

navicat安裝11.3

一、安裝navicat 1、下載navicat 2、解壓壓縮包 3、點擊exe文件 4、輸入密鑰&#xff1a; NAVH-WK6A-DMVK-DKW3 5、點擊打開&#xff1a; 輸入連接參數&#xff1a; 6、查看連接好倉庫 7、 在使用navicat來編寫sql語句 8、編寫語句 連接不上問題&#xff0c;檢查問題&#…

[出錯]-RuntimeError: “slow_conv_transpose2d_out_cpu“ not implemented for ‘Byte‘

一開始我一直一維是torch版本的問題 輸入是用cv2讀出來的&#xff0c;數據類型dtype是默認是unit8&#xff0c;輸入到模型中&#xff0c;除了要將他轉為tenso以外&#xff0c;還要.float將數據類型轉為浮點數。

【Vue3】深入理解Vue中的ref屬性

&#x1f497;&#x1f497;&#x1f497;歡迎來到我的博客&#xff0c;你將找到有關如何使用技術解決問題的文章&#xff0c;也會找到某個技術的學習路線。無論你是何種職業&#xff0c;我都希望我的博客對你有所幫助。最后不要忘記訂閱我的博客以獲取最新文章&#xff0c;也歡…

Redis 之三:Redis 的發布訂閱(pub/sub)

概念介紹 Redis 發布訂閱 (pub/sub) 是一種消息通信模式&#xff0c;它允許客戶端之間進行異步的消息傳遞 Redis 客戶端可以訂閱任意數量的頻道。 模型中的角色 在該模型中&#xff0c;有三種角色&#xff1a; 發布者&#xff08;Publisher&#xff09;&#xff1a;負責發送信…

嵌入式中7個底層數據結構分解

在編程的世界里&#xff0c;數據結構是構建信息框架的骨架。就像現實生活中的建筑需要精心設計的結構一樣&#xff0c;我們的數據也需要合適的結構來保證程序的高效和穩定。今天&#xff0c;我們就像探險家一樣&#xff0c;一起去探索七大數據結構的奧秘&#xff0c;并揭開它們…

光路科技:工業以太網交換機引領工業互聯網新篇章

隨著全球范圍內工業4.0的浪潮不斷涌動&#xff0c;工業互聯網作為其核心驅動力&#xff0c;正引領著工業生產向智能化、網絡化的嶄新階段邁進。在這一轉型的浪潮中&#xff0c;光路科技憑借其卓越的工業互聯設備與創新解決方案&#xff0c;正為工業互聯網領域的發展注入新的活力…

Linux環境基礎開發工具使用

目錄 1.Linux軟件包管理器yum 什么是軟件包 關于 lrzsz 查看軟件包 2.Linux開發工具 2.1.vim的基本概念 2.2vim的基本操作 2.3vim命令模式命令集 1.插入模式 2.從插入模式切換為命令模式 3.移動光標 4.刪除文字 5.復制 6.替換 7.撤銷上一次的操作 8.更改 2.4v…

藍橋杯 2020 第一輪省賽 A 組 F 題(B 組 G 題)解碼

藍橋杯 2020 第一輪省賽 A 組 F 題&#xff08;B 組 G 題&#xff09;解碼 題目描述 小明有一串很長的英文字母&#xff0c;可能包含大寫和小寫。 在這串字母中&#xff0c;有很多連續的是重復的。小明想了一個辦法將這串字母表達得更短&#xff1a;將連續的幾個相同字母寫成…

[動態規劃]---part1

前言 作者&#xff1a;小蝸牛向前沖 專欄&#xff1a;小蝸牛算法之路 專欄介紹&#xff1a;"蝸牛之道&#xff0c;攀登大廠高峰&#xff0c;讓我們攜手學習算法。在這個專欄中&#xff0c;將涵蓋動態規劃、貪心算法、回溯等高階技巧&#xff0c;不定期為你奉上基礎數據結構…

Java基礎 - 模擬醫院掛號系統

模擬醫院掛號系統功能 1. 科室管理:新增科室,刪除科室(如果有醫生在,則不能刪除該科室),修改科室 2. 醫生管理:錄入醫生信息以及科室信息,修改醫生信息(主要是修改個人信息和科室) 3. 坐診信息設置:可以設置醫生當天和未來6天的坐診情況,包括上午和下午的坐診時…

Linux設備模型(九) - bus/device/device_driver/class

一&#xff0c;設備驅動模型 1&#xff0c;概述 在前面寫的驅動中&#xff0c;我們發現編寫驅動有個固定的模式只有往里面套代碼就可以了&#xff0c;它們之間的大致流程可以總結如下&#xff1a; 實現入口函數xxx_init()和卸載函數xxx_exit() 申請設備號 register_chrdev_r…

Spring源碼:手寫SpringDI

我們是在實現了SpringIOC的基礎上&#xff0c;進行拓展&#xff0c;IOC實現源碼可以查看&#xff1a;手寫SpringIOC 文章目錄 一、分析二、實現1、構造注入1&#xff09;分析2&#xff09;版本1BeanReferenceBeanDefinitionGenericBeanDefinitionDefaultBeanFactory1、改造構造…

install Ubuntu again

參考鏈接&#xff1a;Windows 下安裝 Ubuntu 雙系統(更新) - duan22677 - 博客園 這里的總的空間是120G 它里面指出雙系統的時候&#xff0c;/boot 應該是主分區 參考鏈接&#xff1a;win10下安裝Ubuntu16.04雙系統_windows10安裝引導ubuntu-CSDN博客 這里面講到了&#xf…

ES入門六:Suggesters Api實踐

都是負擔在很多app上&#xff0c;當我們輸入某些內容時候&#xff0c;它會立即做一些補全操作&#xff0c;如果我想實現上述的需求&#xff0c;我們就可以使用ES提供的Suggesters Api。那Suggesters是如何做到的那&#xff1f;簡單來說&#xff0c;Suggesters會將輸入的文本拆分…

【網站項目】167固定資產管理系統

&#x1f64a;作者簡介&#xff1a;擁有多年開發工作經驗&#xff0c;分享技術代碼幫助學生學習&#xff0c;獨立完成自己的項目或者畢業設計。 代碼可以私聊博主獲取。&#x1f339;贈送計算機畢業設計600個選題excel文件&#xff0c;幫助大學選題。贈送開題報告模板&#xff…

誰才是“內卷”之王?眾多洗地機品牌哪家清潔力最強?清潔最干凈?

在如今快節奏的生活中&#xff0c;家庭清潔工作愈發顯得繁瑣而耗時。添可洗地機憑借其高效的一體化清潔功能和智能化操作&#xff0c;為現代家庭生活帶來了極大的便利。面對眾多款品牌洗地機型號&#xff0c;消費者不禁會問&#xff1a;哪家洗地機清潔力最強&#xff1f;在性能…

解決tomcat雙擊startup.bat一閃而過的問題

這種問題可能是tomcat找不到你的jdk環境配置路徑 1、首先在tomcat的bin文件夾找到startup.bat 和catalina.bat兩個文件 2、startup.bat用記事本打開 在末尾添加pause 3、保存修改&#xff0c;雙擊startup.bat如果出現這種問題&#xff0c;就是找不到jdk路徑 4、用記事本打開ca…

2194. 負載平衡問題(網絡流,費用流)

活動 - AcWing G 公司有 n 個沿鐵路運輸線環形排列的倉庫&#xff0c;每個倉庫存儲的貨物數量不等。 如何用最少搬運量可以使 n 個倉庫的庫存數量相同。 搬運貨物時&#xff0c;只能在相鄰的倉庫之間搬運。 數據保證一定有解。 輸入格式 第 1 行中有 1 個正整數 n&#x…

MySQL - 聯表查詢從表即使有索引依然 ALL 的一個原因

問題描述 今天排查 MySQL 語句性能發現&#xff0c;主外鍵都添加索引了&#xff0c;為什么 explain 分析 type ALL&#xff1f; 原因分析 主表和從表的關聯字段的編碼方式不一樣&#xff0c;改成一樣的編碼方式即可 解決方案 # 修改某張表某字段編碼 ALTER TABLE t_xxx CHA…

STM32CubeMX實戰教程: TIM6、TIM7 - 基本定時器

目錄 一、基本定時器的作用 二、常用型號的TIM時鐘頻率 三、CubeMX配置 四、編寫執行代碼 一、基本定時器的作用 基本定時器&#xff0c;主要用于實現定時和計數功能。作用包括&#xff1a; 定時功能&#xff1a;可以產生周期性的中斷&#xff0c;用于實現定時任務。例如&…