2013-07-23 109 views
2

我有一個像這樣的腳本文件hello-1234-something的字符串。我需要使用批處理文件得到1234。但數字1234不一樣,它不斷變化,我需要找到一個字符串中的數字,並只取出數字。我是批處理文件編程的新手。我想要做的是,在批量從Windows shell腳本中的字符串中提取一個數字

回答

2

試試這個:

@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% 

注:這不包含特殊字符,如:工作<>&|!^

1

如果字符串始終具有格式的字符串連字符 - 數字 - 連字符串(例如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% 
相關問題