I'm familiar with Unix shell scripting, but new to windows scripting.
I have a list of strings containing str1, str2, str3...str10. I want to do like this:
for string in string_list do var = string+"xyz" svn co var end
I do found some thread describing how to concatenate string in batch file. But it somehow doesn't work in for loop. So I'm still confusing about the batch syntax.
Python concatenate strings in for loop To concatenate strings we will use for loop, and the “+ ” operator is the most common way to concatenate strings in python. To get the output, I have used print(my_str).
Pressing "y" would use the goto command and go back to start and rerun the batch file. Pressing any other key would exit the batch file.
When used in a command line, script, or batch file, %1 is used to represent a variable or matched string. For example, in a Microsoft batch file, %1 can print what is entered after the batch file name.
Try this, with strings:
set "var=string1string2string3"
and with string variables:
set "var=%string1%%string2%%string3%"
In batch you could do it like this:
@echo off setlocal EnableDelayedExpansion set "string_list=str1 str2 str3 ... str10" for %%s in (%string_list%) do ( set "var=%%sxyz" svn co "!var!" )
If you don't need the variable !var!
elsewhere in the loop, you could simplify that to
@echo off setlocal set "string_list=str1 str2 str3 ... str10" for %%s in (%string_list%) do svn co "%%sxyz"
However, like C.B. I'd prefer PowerShell if at all possible:
$string_list = 'str1', 'str2', 'str3', ... 'str10' $string_list | ForEach-Object { $var = "${_}xyz" # alternatively: $var = $_ + 'xyz' svn co $var }
Again, this could be simplified if you don't need $var
elsewhere in the loop:
$string_list = 'str1', 'str2', 'str3', ... 'str10' $string_list | ForEach-Object { svn co "${_}xyz" }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With