从Windows外壳程序脚本中的字符串中提取一个数字



我有一个像这样的字符串——脚本文件hello-1234-something。我需要使用批处理文件获取1234。但数字1234不一样——它一直在变化——我需要在一个字符串中找到这个数字,然后只取这个数字。我是批处理文件编程的新手。我想在批量中做到这一点

试试这个:

@ECHO OFF &SETLOCAL ENABLEDELAYEDEXPANSION
SET "teststring=abcDEFG1234ABSdefh"
FOR %%a IN (
    a b c d e f g h i j k l m n o p q r s t u v w x y z
        ) DO (
    SET "teststring=!teststring:%%a=!"
)
ECHO %teststring%

注意:这不适用于特殊字符,例如:<>&|!^

如果字符串始终具有形式字符串-连字符-数字-连字符字符串(例如foo-23-barsome-205-orother和…),则可以执行以下操作:

@echo off
setlocal
set "string=foo-23-bar"
for /f "tokens=2 delims=-" %%n in ("%string%") do set "num=%%n"
echo %num%

相关内容

  • 没有找到相关文章

最新更新