
【已解決】批處理變量延遲的表述是否可以優(yōu)化最后由 思想之翼 于 -4-14 13:42下述代碼,用于提取出現(xiàn)最多次數(shù)的字符。在原代碼基礎(chǔ)上,加了循環(huán)語句,故而出現(xiàn)2處變量延遲。代碼非循環(huán)運(yùn)行,耗時(shí)大約80毫秒,對(duì)于只有1列10行左右數(shù)據(jù)的文本,似乎耗時(shí)過多。該代碼多線程并行運(yùn)行時(shí),似乎并不能發(fā)揮多物理核心的優(yōu)勢(shì),CPU始終只占9%故而產(chǎn)生能否優(yōu)化的想法。
nclick="copycode($('code0'));">復(fù)制代碼
- @echo off
- setlocal enabledelayedexpansion
- for /l %%f in (101,1,121) do (
- set p=%%f
- for /l %%g in (1000001,1,1100000) do (
- set m=%%g
- cd /d e:JZ!p:~1!!m:~1!
- for %%i in (*.txt) do (
- setlocal enabledelayedexpansion
- for /f delims= %%a in (%%i) do (
- for %%b in (%%a) do (
- set/a #%%b+=1
- if !#%%b! gtr !max! (
- set/a max=!#%%b!
- set #=%%b
- ) else if !#%%b! equ !max! set #=!#! %%b
- )
- )
- (for %%c in (!#!) do (
- echo %%c
- ))>e:ZD!p:~1!!m:~1!%%i
- endlocal
- )))

