bat也有用,某些情況下省點時間。
1. 常用命令
1.1. bat中註釋
rem this is a commond.
1.2. 通配符
兩個重要的通配符:* 和 ?
通配符 | 含義 |
---|---|
* | 表示任何字符串 |
? | 表示0個或1個字符 |
1.3 顯示當前目錄下內容
rem 顯示當前目錄下所有內容
dir
rem 顯示當前目錄下所有內容的文件名
dir /b
rem 顯示當前目錄下所有以.txt爲後綴名的文件名
dir /b *.txt
rem 顯示當前目錄下所有以.txt結尾,並且至多有兩個字符的文件名
dir /b ??.txt
1.4 改變當前目錄到指定目錄
rem 改變到某個邏輯磁盤
D:
rem 改變目錄
cd D:\test
rem 切換到上一級目錄
cd ..\
1.5 顯示文本文件內容
type text.txt
nul
是Windows的一個空文件,可以把所有內容扔給他。
rem 利用重定向創建一個新文件
type nul > text.txt
1.6 循環
rem 顯示1 2 3 4
rem 如果下面的命令要在cmd中直接執行,%%要換成%,後面的例子假設都在bat中執行
for %%i in (1,2,3,4) do echo %%i
rem 不重複輸出
for %%i in (1,2,3,4) do @echo %%i
rem 混合使用分割符
for %%i in (1,2,3;4) do @echo %%i
rem 當前目錄所有txt文件
for %%i in (*.txt) do @echo %%i
rem 顯示符合指定模式的文件名
for %%i in ("C:\Windows\system32\*.exe") do @echo %%i
rem 顯示當前目錄及子目錄的所有txt文件的全路徑名
for /r %%i in (*.txt) do @echo %%i
rem 顯示大小超過300000000的文件全路徑名
for /r %i in (*) do @if %~zi geq 300000000 echo %~zi %i
2. 實戰一下
2.1. 創建單個文件
type nul > text.txt
2.2. 創建多個文件
1: 如果是在cmd中執行
for /l %x in (1,1,10) do type nul > %x.txt
2: 如果是在bat文件中
for /l %%x in (1,1,10) do type nul > %%x.txt
2.3. 批量修改文件名
@echo off
set /a num=0
rem the following command is important
setlocal EnableDelayedExpansion
for %%a in (*.pdf) do (
set /a num+=1
ren "%%a" "!num!%%~xa"
)