samick 发表于 2010-12-3 05:14:12

问个批处理转的表达问题。

@echo off
set /a t=%time:~0,2%,1/(t/8),1/(23/t) 2>nul
这一段应该要怎么转换?谢谢!

nmgwddj 发表于 2010-12-3 07:38:47

我基本上看不懂这个批处理咋写得

kingfirekkk 发表于 2010-12-3 09:05:02

这里面好像有很多应该都要使用转义字符来处理吧?在这里小弟来个抛砖引玉...
#include <Process.au3>
$bat="c:\test.bat"
FileWrite($bat, "@ECHO OFF" & @CRLF)
FileWrite($bat, "set /a t=%time:~0,2%,1/(t/8),1/(23/t) 2>nul"& @CRLF)
_RunDOS($bat)       

3mile 发表于 2010-12-3 09:33:28

t=%time:~0,2%可解释为:当前小时数
即StringFormat('%1d',@HOUR)
后面数学运算自行处理。

都市浪子666 发表于 2010-12-3 10:33:12

楼主的这代码 set /a t=%time:~0,2%,1/(t/8),1/(23/t) 2>nul

1/(t/8),1/(23/t) 2 这个是什么意思呀,看不懂,都不知道如何转{:face (394):}
页: [1]
查看完整版本: 问个批处理转的表达问题。