CMD中是否有可能 partialy 从"launchBrowser": {
"enabled": true,
"args": "${auto-detect-url}",
"windows": {
"command": "cmd.exe",
"args": "/C start ${auto-detect-url}"
},
"osx": {
"command": "open"
},
"linux": {
"command": "xdg-open"
}
},
命令中提取字符串的值并将每个部分分配给其他一些不同的变量?我的意思是,让我们说我们使用set /p var=
命令来读取用户的一些输入,并且用户输入我是Joe 。所以,现在变量set /p var=
。可以分配"我是" %var%的内容到另一个变量和" Joe"还有另一个内容?
答案 0 :(得分:0)
这一切都取决于您对给定输入的期望。您可以使用子字符串来减去输入字符串的固定部分,如下所示:
:: part1 = I am
set "part1=%var:~0,4%"
:: part2 = Joe
set "part2=%var:~5,7%"
但是如果输入字符串的长度小于5,则变量 part2 将是未定义的。好像你没有给变量任何值。
:: Like this
set part2=
获取输入字符串部分的另一种方法是对其进行标记。像这样:
for /f "tokens=1-3" %%a in ("%var%") do (
set "part1=%%a %%b"
set "part2=%%c"
)
但是你应该注意这种方法存在一些问题。首先,由于输入是由用户提供的,它可能包含保留的shell字符以及双引号,这样实际上可能会破坏代码。其次,必须预先定义要使用的令牌数量以及如何处理它们。