Window腳本學習筆記之BAT文件處理


BAT文件處理

  • 列出盤中特定文件名的文件:
@echo off
dir
C:\*.jpg /b/s>.\CDatejpg.txt dir C:\*.png /b/s>.\CDatepng.txt dir D:\*.jpg /b/s>.\DDatejpg.txt dir D:\*.png /b/s>.\DDatepng.txt dir E:\*.jpg /b/s>.\EDatejpg.txt dir E:\*.png /b/s>.\EDatepng.txt start /max CDatejpg.txt start /max CDatepng.txt start /max DDatejpg.txt start /max DDatepng.txt start /max EDatejpg.txt start /max EDatepng.txt
pause

注釋:

用dir和“/b /s”開關以路徑的形式,列出三個盤中的圖片文件,

用“>“開關寫入當前路徑 ”.\“ (默認當前,也可不用)。

用start命令加上最大化開關/max ,打開文本文件。

其中 *.jpg 可以換成其他后綴文件名,如 *.mp4,*.mp3 ,*.txt等。

同時, * 號也可為后,比如列出所有文件名叫book的文件,即 book.*。

如下形式亦可:

*A*.mp4(視頻文件名中有 A)

F*.txt(以F開頭的文本文件)

*.*(代指所有文件)


  • 新建文件夾
rem 可直接生成路徑下文件夾
md D:\Alosys\Info

rem 寫入路徑,可在當前窗口下調用
set path=%path%;D:\Alosys
rem  生成一個小系統
@echo off
rem 可直接生成路徑下文件夾
@echo off
rem  生成一個小系統
rem  寫入路徑
set path=%path%;D:\Alosys
set pa=D:\Alosys
rem 可直接生成路徑下文件夾
md D:\Alosys\Info
echo @echo off>>%pa%\alo.bat 
echo :Alosys>>%pa%\alo.bat 
echo echo _____________>>%pa%\alo.bat 
echo echo successful!!>>%pa%\alo.bat  
echo echo _____________>>%pa%\alo.bat 
echo echo 1.ALl 2.tree  >>%pa%\alo.bat 
echo set /p i=To input:>>%pa%\alo.bat 
echo if /i "%%i%%"=="1" goto allfile>>%pa%\alo.bat 
echo if /i "%%i%%"=="2" goto tree >>%pa%\alo.bat 
echo if /i "%%i%%"=="0" exit >>%pa%\alo.bat 
echo goto error>>%pa%\alo.bat 
echo :allfile>>%pa%\alo.bat 
echo dir C:\* /s/b^>.\CDate.txt>>%pa%\alo.bat 
echo dir D:\* /s/b^>.\DDate.txt>>%pa%\alo.bat 
echo start /max CDate.txt>>%pa%\alo.bat 
echo start /max DDate.txt>>%pa%\alo.bat 
echo exit>>%pa%\alo.bat 
echo :tree>>%pa%\alo.bat 
echo cd..^&cd..^&tree^> CTree.txt>>%pa%\alo.bat 
echo cd /d D: ^&tree^>DTree.txt>>%pa%\alo.bat 
echo start /max CTree.txt>>%pa%\alo.bat 
echo start /max DTree.txt>>%pa%\alo.bat 
echo exit>>%pa%\alo.bat 
echo :eror>>%pa%\alo.bat 
echo goto Alosys>>%pa%\alo.bat 
start %pa%
echo 成功生成。
chioce /t 3/d y/n >nul
exit


  • 批量移動文件

@echo off
setlocal enableDelayedExpansion
rem 生成txt文件,從而調用
dir *.jpg  /s/b >patjpg.txt
dir *.png /s/b >>patjpg.txt
rem 生成文件夾
md .\圖片文件
rem For命令的運用,其后綴名可以改
for /f "delims=. tokens=1" %%i in (patjpg.txt) do move "%%i.jpg" ".\圖片文件"&echo 正在移動……
echo 文件移動成功
pause

注釋:

對於開關delims,是以符號(.,。;:‘“#@!等)為開關,若是文件名中有此符號,則會出錯。

對於開關tokens,是以前一個開關所划分的節數來取值,如,1,5,1-5,2-3等,可靈活運用。

 


 

文章所涉及的批處理腳本若是不懂,請慎用!以防出現未知錯誤!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM