1.无法识别的命令等
可能为中文字符编码等问题,破坏了bat文件格式,建议去掉中文,加上引号或者重新创建文件。
例如:
@echo off
%~d0
cd /d %~dp0
title epoch时间转换(%cd%)
去掉中文或者换成字母就可以了。
2.无法识别的运算符,但运行结果真确
可能碰到了不识别的符号,或者中文符号,导致无法识别,被忽略掉。
例如:
set /a epoch=enter epoch:
set tm_sec=%epoch% %% 60;
set /a epoch /= 60;
set tm_min=%epoch% %% 60;
set /a epoch /= 60;
set tm_hour=%epoch% %% 24;
set /a epoch /= 24;
set tm_mday=%epoch% %% 31 +1;
set /a epoch /= 31;
set tm_mon=%epoch% %% 12;
set tm_year=%epoch% / 12 + 1988;
echo "time:"%tm_yeaer%-%tm_mon%-%tm_mday% %tm_hour%:%tm_min%:%tm_sec%
3.显示结果与预期的不符合
一般得考虑作用域的问题,可以使用:
setlocal enabledelayedexpansion
或者变量引用的时候用!aaa!代替%aaa%.