windows批处理使用记录
::进入批处理所在目录
cd "%~dps0"
%~d0
同理,将“文件全路径”作为参数时,进入这个文件所在文件夹的方式为
cd "%~dpsN" 注:N需要用参数的索引替换
%~dN
::终结某些进程
TASKKILL /F /IM *.exe
::如果文件夹不存在就创建
if not exist "logs" mkdir logs
::日期获取
格式:%date:~x,y%以及%time:~x,y%
说明:x是开始位置,y是取得字符数
比如说我要获取完整的日期和时间,
格式:%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
结果:20090419102539
但是如果时间早于10点,就会在日期之后显示一个空格,如何解决呢?
格式:%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%
结果:20090419082539
::choice 提示用户选择
@echo 选择频道和日期发送:
@choice /c 12 /M 选择第几个频道
if errorlevel 1 set app=tv1.bat
if errorlevel 2 set app=tv2.bat
@choice /c 1234567 /M 选择一周中的第几天
%app% %errorlevel%
::取子字符串
set p=123456789
echo %p:~1% 显示23456789
echo %p:~0,-1% 显示12345678
echo %p:~0,2% 显示12
也就是说,echo %var:~x,y%中,x是开始字符索引,从0起,y如果是正数就是从x起的字符个数,如果是负就是从结尾起的字符个数。