清除与bat文件同目录的Temp文件夹的2种方法
@echo off echo 正在清除^^文件,请稍等…… ::第一种方法清除Temp文件夹下的所有子文件夹和文件 del "%~dp0Temp\*.*" /f/s/q/a set ph="%cd%\Temp" for /f "delims=" %%i in ('dir /ad/b/s %ph% ') do (if exist "%%i" rd /s/q "%%i") echo 清除完毕! pause exit
@echo off echo 正在清除^^文件,请稍等…… ::第二种方法清除Temp文件夹下的所有文件(包括子文件夹内的文件),保留7天内的文件并且不会删除子文件夹 set ph="%cd%\Temp" forfiles /p "%ph%" /m *.* /d -7 /c "cmd /c del @path" echo 清除完毕! pause exit
知识点:echo为在Dos窗口显示的信息
:: 为注释 %~dp0Temp 表示同目录下Temp的全路径 %cd%\Temp 表示同目录下Temp的全路径 pause 暂停 按任意键后继续
拓展:
判断文件夹是否为空
dir /a /s /b "D:\Temp" | findstr . >nul && echo "此文件夹不为空" || echo "此文件夹为空"
bat获取当前目录
@echo off echo 当前盘符:%~d0 echo 当前盘符和路径:%~dp0 echo 当前盘符和路径的短文件名格式:%~sdp0 echo 当前批处理全路径:%~f0 echo 当前CMD默认目录:%cd% ::上一级目录路径 echo 当前目录:%cd% cd.. echo 上一级目录路径是:%cd% ::上一级目录名称这个有的地方好用有的会返回上级目录路径 echo 当前目录:%cd% if %cd%==%cd:~,3% echo 当前目录已经是%cd:~,1%盘的根目录!&goto end cd.. set "bd=%cd%" cd.. set "bbd=%cd%" if "%bbd%"=="%bd%" (echo 上一级目录是: %cd:~,1%盘的根目录! ) else call echo 上一级目录是: "%%bd:%bbd%\=%%" :end ::当前盘符 echo 当前盘符:%cd:~,1% ::根目录 echo 根目录:%cd:~,3% pause
结果:
日期:
@echo off ::日期 echo 日期: %date% ::时间 echo 时间: %time% ::短日期 echo 短日期:%date:~0,10% pause exit
结果:
将同目录的exe加入开机启动项
@echo off set b=%~dp0 echo "注册EXE路径:%b%word.exe" pause reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v word /d "%b%word.exe" pause
取消同目录exe的开机启动项
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v word /f
获取文件或文件夹名称、修改时间、大小、路径
@echo off set /p a=请将文件夹拉入本窗口内: for %%i in (%a%) do ( echo 名称: %%~ni echo 修改时间: %%~ti echo 大小: %%~zi echo 路径: %%~dpi ) pause
结果:
原文链接:https://blog.csdn.net/u011108093/article/details/79692425