Saltar al contenido

¿Cómo concatenar cadenas en el archivo por lotes de Windows para bucle?

Por fin después de mucho batallar ya encontramos la respuesta de este conflicto que ciertos los lectores de nuestro espacio presentan. Si tienes algo que compartir no dudes en aportar tu comentario.

Solución:

Prueba esto, con cadenas:

set "var=string1string2string3"

y con string variables:

set "var=%string1%%string2%%string3%"

Por lotes podrías hacerlo así:

@echo off

setlocal EnableDelayedExpansion

set "string_list=str1 str2 str3 ... str10"

for %%s in (%string_list%) do (
  set "var=%%sxyz"
  svn co "!var!"
)

Si no necesita la variable !var! en otra parte del ciclo, podrías simplificar eso para

@echo off

setlocal

set "string_list=str1 str2 str3 ... str10"

for %%s in (%string_list%) do svn co "%%sxyz"

Sin embargo, como CB, prefiero PowerShell si es posible:

$string_list = 'str1', 'str2', 'str3', ... 'str10'

$string_list | ForEach-Object 
  $var = "$_xyz"   # alternatively: $var = $_ + 'xyz'
  svn co $var

Nuevamente, esto podría simplificarse si no necesita $var en otra parte del bucle:

$string_list = 'str1', 'str2', 'str3', ... 'str10'
$string_list | ForEach-Object  svn co "$_xyz" 

Un ejemplo muy simple:

SET a=Hello
SET b=World
SET c=%a% %b%!
echo %c%

El resultado debería ser:

Hello World!

Aquí tienes las reseñas y valoraciones

Nos puedes añadir valor a nuestra información añadiendo tu experiencia en las interpretaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *