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等,可灵活运用。

 


 

文章所涉及的批处理脚本若是不懂,请慎用!以防出现未知错误!

posted @ 2018-09-07 15:24  神在飞雪  阅读(1120)  评论(0编辑  收藏  举报