I have scripted Numbers.bat to return the numeric characters in a given string.
The syntax for using Numbers.bat is:
call Numbers Input Output
Where Input contains the the input string and Output is a call directed environment variable that will contain the numeric character from Input. If no numeric characters exist in Input, Output will be NOT Defined.
Numbers.bat contains:
@echo off if \{%2\}==\{\} @echo Syntax: Numbers String StrNumbers&goto :EOF if exist "%TEMP%\Numbers.vbs" goto doit @echo dim str>"%TEMP%\Numbers.vbs" @echo Set objshell = CreateObject("WScript.Shell")>>"%TEMP%\Numbers.vbs" @echo Set objArgs = WScript.Arguments>>"%TEMP%\Numbers.vbs" @echo str=objArgs(0)>>"%TEMP%\Numbers.vbs" @echo wscript.echo GetNumbersOnly(str)>>"%TEMP%\Numbers.vbs" @echo. >>"%TEMP%\Numbers.vbs" @echo function GetNumbersOnly(str)>>"%TEMP%\Numbers.vbs" @echo. with new regexp>>"%TEMP%\Numbers.vbs" @echo. .pattern = "\D">>"%TEMP%\Numbers.vbs" @echo. .global = true>>"%TEMP%\Numbers.vbs" @echo. GetNumbersOnly = .replace(str,"")>>"%TEMP%\Numbers.vbs" @echo. end with>>"%TEMP%\Numbers.vbs" @echo end function>>"%TEMP%\Numbers.vbs" :doit set %2= for /f "Tokens=*" %%a in ('cscript.exe //nologo "%TEMP%\Numbers.vbs" %1') do ( set %2=%%a )
0 comments
Hide comments