Имя: Пароль:
IT
Админ
Не работает батник
0 Про100Филя
 
26.04.19
12:56
Добрый день.
Пытаюсь батником прочесть из текстового файла(List.txt), строки и добавить их к другой строке.
В файле List.txt
Hello
world
!

Пытаюсь батником прочитать так, чтобы в переменную _Text записалась вся строка "Hi! Hello world!", но вместо этого выходит "Hi!!"
@ECHO OFF
CLS
SET _CURRENTPATH=%~dp0
SET _TxtFile="%_CURRENTPATH%\List.txt"
SET _Text=Hi!

for /f "usebackq tokens=1*" %%a in (%_TxtFile%) do (
SET _Text=!_Text!%%a
)
echo %_Text%
pause

В чем ошибка?
1 dmrjan
 
26.04.19
12:58
Кодировка ANSY?
2 Про100Филя
 
26.04.19
13:01
(1) Везде Utf8, кириллицу выводить не нужно.
Если в цикл добавить вывод %%a то видно что файл читается, но присваевается строке только последнее значение
for /f "usebackq tokens=1*" %%a in (%_TxtFile%) do (
SET _Text=!_Text!%%a
echo %%a
)
3 arsik
 
гуру
26.04.19
13:03
Кто то еще батниками пользуется? Для вас майкрософт специально повершелл создала, а вы все в старое макаетесь.
4 Йохохо
 
26.04.19
13:11
set _text=%_text%%%a
?
5 Про100Филя
 
26.04.19
13:16
(4) Вообще не присваивает в конце.

Частично решил добавлением в начало setlocal EnableDelayedExpansion, но пропали знаки
6 Про100Филя
 
26.04.19
13:22
(3) Ну например я. Есть необходимость дописать скрип который лет 10 работает. Powerhell избыточен в этой задаче.
7 Про100Филя
 
26.04.19
13:26
(5)  + Пропадает только знак ! остальные символы на месте. Можно закрывать.