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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Обработка более 1028 символов в переменной

Ответить
Настройки темы
CMD/BAT - Обработка более 1028 символов в переменной

Новый участник


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

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


Всем привет,

Имеется следующий батник:

Цитата:
@echo off

set /P initList=<temp.txt

call :parse "%initList%"
goto :end

:parse
setlocal
set list=%1

for /F "delims=, tokens=1*" %%f in (%list%) do (
rem if the item exist
if not "%%f" == "" call :getLineNumber %%f
rem if next item exist
if not "%%g" == "" call :parse "%%g"
)
endlocal
goto :end

:getLineNumber
setlocal

echo %1

endlocal

:end
и обрабатываемый файл вида:
Цитата:
0000000000002980,000000000100091C,0000000000D40FF1,00000000001C636B,00000000003D2D33,00000000001C711 2,00000000001A26D8,00000000001A223D,00000000001A2238,0000000001063B24,0000000001063B8A,0000000001063 B57,0000000000B055BF,0000000001063BA3,0000000001063BA1,0000000001063BB2,0000000001063B8F,00000000010 63AF8,00000000003D099B,00000000003D099A,00000000003D08F6,00000000003D08B3,00000000003D08C2,000000000 03D0910,0000000000BC8766,0000000000124B89,00000000003D089C,00000000003D0B81,00000000003D0B79,0000000 0003D0B7A,00000000003D0B67,00000000003D0B9B,00000000003D0B95,00000000003D0A47,00000000003D0B2C,00000 000003D0B40,0000000000C8498E,0000000000BC7626,0000000001062FC5,0000000000125E34,0000000001063956,000 0000000C89C03,000000000010452F,0000000000231840,00000000001EFE81,0000000000BA0525,0000000000BE9EBD,0 0000000001C9DF5,00000000001C9CBC,00000000002577BD,00000000003AFBF0,0000000000C17FAA,0000000000C17FA7 ,0000000000C17FBC,0000000000C17FBA,0000000000C17FB7,0000000000C17FB8,0000000000C17FB2,0000000000C17F B0,0000000000C17F7F,0000000000C17F7E
Обработка обрубается на значении "0000000000C17F7F" - типа превышен лимит символов в переменной. Может кто-нибудь подскажет, как это обойти?

Отправлено: 14:48, 26-02-2015

 

Ветеран


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

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


worship,
Код: Выделить весь код
@echo off
setlocal

for /f "tokens=* delims=," %%i in ('type temp.txt') do call:1 %%i
goto:eof

:1
for %%i in (%*) do echo %%i
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:00, 26-02-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


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

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


Foreigner, спасибо, работает. Правда только для строки длинной в 8171 символ. Для строки длинее - "The input line is too long."

Отправлено: 15:17, 26-02-2015 | #3


Ветеран


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

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


worship,
Тогда придется применять сторонние утилиты. С помощью sed.exe:
Код: Выделить весь код
@echo off

for /f %%i in ('sed "s/,/\n/g" temp.txt') do echo %%i
Или смотреть в сторону PowerShell:
Код: Выделить весь код
(get-content temp.txt).split(',')
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:09, 26-02-2015 | #4


Новый участник


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

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


Что-то не додумался sed'ом финт такой сделать) Foreigner, благодарю за помошь.

Отправлено: 13:34, 27-02-2015 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Обработка более 1028 символов в переменной

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Удаление файлов и папок более 255 символов diagnoz_ Windows Server 2012/2012 R2 20 09-05-2019 16:25
CMD/BAT - Ошибка при использовании xcopy для копирования файлов с расширением более 3 символов megaloman Скриптовые языки администрирования Windows 2 20-01-2011 09:36
Длина имени входа пользователя более 20 символов L_Leorik Microsoft Windows NT/2000/2003 2 21-12-2009 13:49
PHP и XML | Обработка неалфавитных символов Coutty Вебмастеру 6 17-12-2008 10:42
Не более 8 символов? 007G Вебмастеру 4 09-08-2004 23:45




 
Переход