我有一个像这样的字符串——脚本文件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-bar
、some-205-orother
和…),则可以执行以下操作:
@echo off
setlocal
set "string=foo-23-bar"
for /f "tokens=2 delims=-" %%n in ("%string%") do set "num=%%n"
echo %num%