Board logo

标题: [日期时间] 批处理for循环想显示每一次循环结束的时间,求帮忙 [打印本页]

作者: wosliming    时间: 2015-1-22 09:47     标题: 批处理for循环想显示每一次循环结束的时间,求帮忙

各位大大,

for循环想显示每一次循环结束的时间,求帮忙
  1. @ECHO OFF
  2. for /f "delims=" %%a in ('dir /a-d /b *.t') do (
  3. ECHO  \"%%a\"
  4. PAUSE
  5. ECHO "%%a.pack\"
  6. PAUSE
  7. echo %%a Completed at %TIME%
  8. ECHO %TIME:~0,-6%
  9. )
  10. PAUSE
复制代码
随便在文件夹下做了几个*.t...每一次执行,都只会显示第一次的time 值,循环里面,time的显示不会根据系统时间改变


求指教!!
作者: dongxie    时间: 2015-1-22 10:00

本帖最后由 dongxie 于 2015-1-22 10:02 编辑

@ECHO OFF
Setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
ECHO  \"%%a\"
ECHO "%%a.pack\"
call :sj
echo %%a Completed at !tm!
)
PAUSE
exit
:sj
set "tm=%TIME%"
goto :eof
作者: DAIC    时间: 2015-1-22 10:02

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /a-d /b *.t') do (
  4.     echo  \"%%a\"
  5.     pause
  6.     echo "%%a.pack\"
  7.     pause
  8.     echo %%a completed at !time!
  9.     echo !time:~0,-6!
  10. )
  11. pause
复制代码

作者: wosliming    时间: 2015-1-22 10:03

回复 2# dongxie


    使用call,这个不错,谢谢
作者: DAIC    时间: 2015-1-22 10:04

回复 2# dongxie


    使用变量延迟扩展之后就没有必要使用 call 了,太影响效率。
作者: wosliming    时间: 2015-1-22 10:08

回复 3# DAIC


   谢谢大大
作者: dongxie    时间: 2015-1-22 10:09

回复 5# DAIC


    嗯  效率确实会低  不过低了之后 我刚好能看到 执行的时间差




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2