2008-11-19 62 views
8

Tôi nhận ra rằng điều này có thể được thực hiện dễ dàng hơn trong bất kỳ số ngôn ngữ kịch bản nào khác nhưng bắt đầu thực hiện nhanh chóng trong cmd và bây giờ Im tò mò.Thêm vào% TIME% biến trong cửa sổ script cmd

Tìm cách bắt đầu một quá trình ở mức bù cho thời gian tiến trình khác bắt đầu. Cho phép nói 5 phút để giữ cho nó đơn giản. Có cách nào để thêm vào biến% TIME% không?

Ví dụ:

start /b foo.exe 
at %TIME% + 5 minutes bar.exe 

Thanks cho bất kỳ sự trợ giúp

Trả lời

12

Tôi chỉ gõ set/? và phát hiện ra cmd là tốt hơn nhiều so với dơi cũ ... :-)

set h=%TIME:~0,2% 
set m=%TIME:~3,2% 
set/a m2="m+5" 
set t2=%h%:%m2% 
set t2 

Rõ ràng, bạn có thể nhận được 62 phút, v.v., tôi cho phép bạn thực hiện thêm phép toán ... :-D

1

2 Phi Lho

nhờ

đang tắm của tôi:

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 
+0

_ "mã tắm" _: D – akinuri

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 
2

Đây là toán thêm:

:: 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% 
+0

nếu% hr% leq 9 bộ giờ = 0% giờ: ~ 1,1% – serega386

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 
Các vấn đề liên quan