无忧启动论坛

标题: 这两段代码哪个执行效率高? [打印本页]

作者: 七仙花    时间: 2021-1-18 12:32
标题: 这两段代码哪个执行效率高?
代码一
  1. @echo off
  2. Setlocal Enabledelayedexpansion
  3. for /f "delims=" %%i in ('wmic datafile where "filename='ospp' and Extension='vbs'" get name') do (set /a n+=1 & if !n! equ 2 set "V=%%i")
  4. echo %V%
  5. pause
复制代码

代码二
  1. @echo off
  2. Setlocal Enabledelayedexpansion
  3. for /f "skip=1 delims=" %%i in ('wmic datafile where "filename='ospp' and Extension='vbs'" get name') do (set /a n+=1 & if !n! equ 1 set "V=%%i")
  4. echo %V%
  5. pause
复制代码



作者: 窄口牛    时间: 2021-1-18 12:40
你加两句取时的语句打印出来就知道了。
作者: 心零    时间: 2021-1-18 14:04
看不懂,看不懂!
作者: nttwqz    时间: 2021-1-18 14:26
恕我眼拙,没看出两句有多大的区别,难道楼主认为一个skip=1会节省点时间?你试试一个上千行的文本,skip=100和无试试,看看能省多少时间。
作者: 七仙花    时间: 2021-1-18 17:58
nttwqz 发表于 2021-1-18 14:26
恕我眼拙,没看出两句有多大的区别,难道楼主认为一个skip=1会节省点时间?你试试一个上千行的文本,skip=1 ...

这不是节省时间的问题,我是想知道加一个skip=1和 if !n! equ 2,for运行的次数是否一样,对变量的存储是存一次还是两次
作者: 七仙花    时间: 2021-1-18 18:12
结果出来了,加了skip=1,循环了两次,变量V赋值两次,不加循环3次,变量V赋值3次






作者: nttwqz    时间: 2021-1-19 16:19
七仙花 发表于 2021-1-18 18:12
结果出来了,加了skip=1,循环了两次,变量V赋值两次,不加循环3次,变量V赋值3次

你还是没有明白……




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3