如何批量拉动字符串变量的中间值?

时间:2013-09-29 21:55:09

标签: string variables batch-file

我需要将字符串的某个部分作为一个变量,其余部分作为另一个变量。忽略“Script.CreateSub”,这无关紧要。

@Echo Off
Set String=Script.CreateSub(Start)

我需要一个名为ComName的变量等于输入的第一部分(Script.CreateSub)和一个名为Name的变量,它等于括号之间的任何内容。

2 个答案:

答案 0 :(得分:2)

这与上面的答案大致相同,但不使用延迟扩展,因为它不需要,并且它将处理许多毒性字符。

@echo off
Set "String=Script.CreateSub(Start)"
for /f "tokens=1,2 delims=()" %%a in ("%String%") do set "ComName=%%a" & set "Name=%%b"
echo "%ComName%" , "%Name%"

答案 1 :(得分:0)

这应该这样做:

@echo off
setlocal enabledelayedexpansion
Set String=Script.CreateSub(Start)
for /f "tokens=1,2 delims=()" %%a in ("%String%") do set function=%%a&set param=%%b
echo function=%function%
echo param=%param%
pause

有关此技术的更多信息,请参阅http://www.dostips.com/DtTipsStringManipulation.php#Snippets.SplitString