有一个简单的解决方案比使用“ for
”循环容易得多。
让我们以dir/o-d
(dir
按日期倒序)的输出为例。
例如,如果要输出第1至16行,请使用:
dir/o-d|findstr/n ^^|findstr "^[1-9]: ^1[0-6]:"
例如,如果要输出第16到45行,请使用:
dir/o-d|findstr/n ^^|findstr "^1[6-9]: ^[2-3][0-9]: ^4[0-5]:"
样本输出:
16:08/08/2016 08:43 AM <DIR> nacl_sdk
17:11/05/2016 10:48 PM <DIR> 3b 2
18:28/04/2016 02:47 PM <DIR> sample
19:22/04/2016 10:07 PM <DIR> mysql test
20:16/04/2016 01:22 AM <DIR> 3b
21:16/04/2016 01:10 AM 2,706 errorlog
22:16/04/2016 12:53 AM 0 accesslog
...
分解:
首先,使用转储整个输出dir/o-d
。
接下来,$Num:
使用“findstr/n ^^
最后,使用裁剪输出findstr "^1[6-9]: ^[2-3][0-9]: ^4[0-5]:"
。
另请参阅/programming//q/8844868/632951