请教:批处理中AT命令的时间参数传递问题
现在遇到个问题:
用net time \\computerName 获取了目标机器的当前时间,传给字串,如:string="上午 08:31",现在怎么把这个时间加1做为参数,并传给AT命令使其能正确执行?
@echo off
for /f "" %%a in('net time \\computerName') do (set string=%%a)
at \\computerName string test.exe ;这一句功能应该怎么实现
谢谢!
[最优解释]
实现起来也不复杂,主要是时间处理,写了一个XP环境下测试通过的
@echo off
for /f "tokens=4-6 delims=: " %%a in ('net time \\computerName') do (
set HRMODE=%%a
if "%%b"=="08" (set /a HR=8) else (if "%%b"=="09" (set /a HR=9) else (set /a HR=%%b))
if "%%c"=="08" (set /a MIN=9) else (if "%%c"=="09" (set /a MIN=10) else (set /a MIN=%%c+1))
)
if %MIN% GEQ 60 (
set /a MIN-=60
set /a HR+=1
)
if "%HRMODE%"=="上午" (if %HR%==12 (set HR=0))
if "%HRMODE%"=="下午" (if %HR% NEQ 12 (set /a HR+=12))
if %HR% GEQ 24 (set HR=0)
if %MIN% LEQ 9 (set MIN=0%MIN%)
if %HR% LEQ 9 (set HR=0%HR%)
at \\computerName %HR%:%MIN% test.exe
pause
[其他解释]
从时间格式上来看你这个涉及到了24小时制转换和时间计算,不仅仅是传参的问题
[其他解释]
那具体应该怎么实现呢,有什么方法没
[其他解释]
你的代码写得很规范啊,学习下,谢谢指点!
[其他解释]
写得仓促,其实这个时间处理上还有点点不对头的地方,你可以自己看看