我意识到这可以在任何其他脚本语言中更容易完成,但是开始在cmd中快速完成,现在我很好奇。
希望以偏移量启动流程,直到另一个流程开始。让我们说5分钟,以保持简单。有没有办法添加到%TIME%变量?
例如:
start /b foo.exe
at %TIME% + 5 minutes bar.exe
感谢您的帮助
答案 0 :(得分:13)
我刚输入set/?
并发现cmd比老蝙蝠好得多......: - )
set h=%TIME:~0,2%
set m=%TIME:~3,2%
set/a m2="m+5"
set t2=%h%:%m2%
set t2
显然,你可以得到62分钟等等,我让你做额外的数学... :-D
答案 1 :(得分:4)
这是额外的数学:
:: Get an offset of 1 minute from the current time, accounting for edge cases
set hr=%TIME:~0,2%
set /a mn=%TIME:~3,2%+1
:: check minutes; greater than 60? add n/60 to hour, n%60 to mins
if %mn% geq 60 set /a hr=hr+mn/60 && set /a mn=mn%%60
if %hr% geq 24 set /a h=0
:: pad zeros if necessary
if %mn% leq 9 set mn=0%mn%
if %hr% leq 9 set hr=0%hr%
答案 2 :(得分:1)
2 PhiLho
<强>感谢强>
我的浴室代码:
set h=%TIME:~0,2%
set m=%TIME:~3,2%
set s=%TIME:~6,2%
set time=%h%_%m%_%s%
mkdir c:\test\%time%
move c:\test\*.* c:\test\%time%
"C:\Program Files\WinRAR\RAR" a -ep c:\test\%time%\ -agDD-MM-YY_hh-mm-ss c:\test\%time%\*.* -zc:\arhiv\HEADERS.TXT
move c:\test\%time%\*.rar c:\arhiv\
rmdir c:\test\%time% /S /Q
答案 3 :(得分:1)
@echo off
:: START USAGE ==================================================================
::SET THE NICETIME
:: SET NICETIME=BOO
:: CALL GetNiceTime.cmd
:: ECHO NICETIME IS %NICETIME%
:: echo nice time is %NICETIME%
:: END USAGE ==================================================================
echo set hhmmsss
:: this is Regional settings dependant so tweak this according your current settings
for /f "tokens=1-3 delims=:" %%a in ('echo %time%') do set hhmmsss=%%a%%b%%c
::DEBUG ECHO hhmmsss IS %hhmmsss%
::DEBUG PAUSE
echo %yyyymmdd%
:: this is Regional settings dependant so tweak this according your current settings
for /f "tokens=1-3 delims=." %%D in ('echo %DATE%') do set yyyymmdd=%%F%%E%%D
::DEBUG ECHO yyyymmdd IS %yyyymmdd%
::DEBUG PAUSE
set NICETIME=%yyyymmdd%_%hhmmsss%
::DEBUG echo THE NICETIME IS %NICETIME%
::DEBUG PAUSE
答案 4 :(得分:0)
copy.cmd:
set hr=%TIME:~0,2%
if %hr% leq 9 set hr=0%hr:~1,1%
set mydate=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%-%hr%%TIME:~3,2%%TIME:~6,2%
copy file.txt file-%mydate%.txt
pause
答案 5 :(得分:0)
稍微扩展了“浴室代码”:
echo ----- time -----
echo %time%
set _hh=%time:~0,2%
set _mm=%time:~3,2%
set _ss=%time:~6,2%
set __time=%_hh%%_mm%%_ss%
echo _%__time%_
echo ----- time -----
echo:
echo ----- date -----
echo %date%
set _Y=%date:~0,4%
set _M=%date:~5,2%
set _D=%date:~8,2%
set __date=%_Y%%_M%%_D%
echo _%__date%_
echo ----- date -----
pause
为%__ time%
输出 205146为%__ date%
输出 20180613