[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[日期时间] 批处理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: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

TOP

  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
复制代码

TOP

回复 2# dongxie


    使用call,这个不错,谢谢

TOP

回复 2# dongxie


    使用变量延迟扩展之后就没有必要使用 call 了,太影响效率。

TOP

回复 3# DAIC


   谢谢大大

TOP

回复 5# DAIC


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

TOP

返回列表