Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :FilterSubstring <Filter VarName> <return varName> <Filter type [/A /L /N]> ["/O:Output FileName.ext"]
- @Echo Off & Setlocal EnableDelayedExpansion & CD "%~dp0"
- If "%~3"=="" (Endlocal & Echo/Filter Switch Required^
- %= newline =%
- /L:Letters /N:Numbers /A:Alphanumeric& Pause > Nul & Exit /B 1)
- Set ".rVar="&Set ^"Params=%*^"&Set "%3="
- (Echo/"!Params!" | Findstr /I /C:/A > Nul 2> Nul) && Set "%3=a-zA-Z0-9"
- (Echo/"!Params!" | Findstr /I /C:/L > Nul 2> Nul) && Set "%3=a-zA-Z"
- (Echo/"!Params!" | Findstr /I /C:/N > Nul 2> Nul) && Set "%3=0-9"
- If "!%3!" == "" (Endlocal & Echo/Invalid Filter "%~3": /L : Letters /N : Numbers /A : Alphnumerical & Pause > Nul & Exit /B 1) Else Set "Mode=!%3!"
- IF Not "!%~1!"=="" (Call :Extract "%~1") Else (Endlocal & Echo/Error: %1 is not defined. & Pause > Nul & Exit /B 1)
- Set "%~2=!.rVar!"
- (Echo/"!Params!" | Findstr /I /C:/D > Nul 2> Nul) && Set %~2
- Set "Params=!Params:*/O:=/O:!"
- If "!Params:~0,3!"=="/O:" >>"!Params:/O:=!" Echo/!%~2!
- (Endlocal & Set "%2=%.rVar%") 2> Nul || (Echo/Return Variable required & Pause > Nul & Exit /B 1)
- Exit /B 0
- :Extract <defined var containing string> rem // %%L: Get StringLen. %%#: Iterate over each character in StrLen. %%i: Test Character type using Findstr and assign numeric values to return var.
- For %%L in (20 40 80 160 320) Do IF "!%~1:~%%L,1!"=="" For /L %%# in (0,1,%%L) Do If "!%~1:~%%#,1!"=="" (For /L %%i in (0,1,%%#) Do (Set "C=!%~1:~%%i,1!" & Echo/"!C!" | findstr /R "[!Mode!]" >nul 2>nul && Set ".rVar=!.rVar!!C!"))& Exit /B
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement