我需要将字符串的某个部分作为一个变量,其余部分作为另一个变量。忽略“Script.CreateSub”,这无关紧要。
@Echo Off
Set String=Script.CreateSub(Start)
我需要一个名为ComName的变量等于输入的第一部分(Script.CreateSub)和一个名为Name的变量,它等于括号之间的任何内容。
答案 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。