Batch file 分析批处理文件中的变量
我有一个脚本,在代码中间我需要分析一个变量,我在一个长代码中完成所有这些。例如,我的变量可以是Batch file 分析批处理文件中的变量,batch-file,Batch File,我有一个脚本,在代码中间我需要分析一个变量,我在一个长代码中完成所有这些。例如,我的变量可以是variable=word1:word2或variable=word1,因此我有两种情况,一种是变量由一个单词组成,另一种是我有两个单词由分隔: 现在如果variable=word1那么我什么都不想做,但是 如果variable=word1:word2则SET variable=word1和SET variable2=word2 顺便说一句,我不知道单词1或单词2有多长,所以我不能根据它们的位置将它们分
variable=word1:word2
或variable=word1
,因此我有两种情况,一种是变量由一个单词组成,另一种是我有两个单词由分隔:
现在如果variable=word1
那么我什么都不想做,但是
如果variable=word1:word2
则SET variable=word1
和SET variable2=word2
顺便说一句,我不知道单词1或单词2有多长,所以我不能根据它们的位置将它们分开,这应该可以满足您的需要 只要在需要的地方使用
var1
和var2
@echo off
setlocal enabledelayedexpansion
set var=word1:word2
echo %var% | find ":" >nul
if %errorlevel%==0 (
rem It does have 2 vars
for /f "tokens=1* delims=:" %%a in ("%var%") do set var1=%%a && set var2=%%b
echo !var1!
echo !var2!
) else (
rem Only 1 var
)
pause >nul
给我们看看你的代码。你的代码哪里失败了?我的代码没有失败,它可以工作,但我想在其中添加这个功能,你可以看到,在我的代码中,当我打印%variable%时,会打印word1:word2,所以我想也许有一种方法可以将它们分开,并使之成为变量没有问题,很高兴我能提供帮助+我有问题,我可以用一个单词作为分隔符而不是
:
?我可以把变量分成3个字吗word1:word2:word3?我不确定是否可以使用多个字符进行分隔,请试试看。如果需要,可以将其分成3,只需将&设置var3=%%c
放在for
循环的末尾即可。