0

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

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

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

4

2 回答 2

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%"
于 2013-09-30T03:35:44.450 回答
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

于 2013-09-29T22:52:10.933 回答