Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата RedScorpio:
В реальности может быть с пробелами »
Тогда попробуйте так:
Код: Выделить весь код
@echo off
set "STRING=text 1;;;text 4"
echo %STRING%
set temp_STRING="#%STRING:;=;#%"

for /F "tokens=1,2,3,4 delims=;" %%a in (%temp_STRING%) do (
  set V1=%%a
  set V2=%%b
  set V3=%%c
  set V4=%%d
)
set V1=%V1:~1%
set V2=%V2:~1%
set V3=%V3:~1%
set V4=%V4:~1%

echo var1=%V1%
echo var2=%V2%
echo var3=%V3%
echo var4=%V4%
Pause
Работает и с пробелами.

Еще вариант. Ваша переменная STRING в кавычках и остается в неизменном виде:
Код: Выделить весь код
@echo off
set STRING="text 1;;;text 4"
echo %STRING%
for /d %%i in (%STRING%) do set "temp_STRING=%%~i"

set temp_STRING="#%temp_STRING:;=;#%"

for /F "tokens=1,2,3,4 delims=;" %%a in (%temp_STRING%) do (
  set V1=%%a
  set V2=%%b
  set V3=%%c
  set V4=%%d
)
set V1=%V1:~1%
set V2=%V2:~1%
set V3=%V3:~1%
set V4=%V4:~1%

echo var1=%V1%
echo var2=%V2%
echo var3=%V3%
echo var4=%V4%
Pause

Последний раз редактировалось gora, 04-06-2009 в 12:40.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:29, 04-06-2009 | #4