Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Переменная? Подстановка в команду данных из файла. Не получается.. (http://forum.oszone.net/showthread.php?t=330976)

NLOLegion 03-11-2017 15:36 2775249

Переменная? Подстановка в команду данных из файла. Не получается..
 
Есть у меня вот такой код

set /p 111=<C:\2\111.txt
C:\2\balcon.exe -n "%111%" -f "C:\2\О.txt"

По сути мне надо чтобы консольная балаболка прочитала текст из файла "C:\2\О.txt". В файле "C:\2\111.txt" записана всего одна строчка IVONA 2 Maxim OEM. Это название голосового движка. Если код выше просто вставить в командную строку то всё работает, но если запустить как батник обычным двойным кликом, то нет. Почему мне не понятно. Помогите исправить. Буду очень признателен. Почему-то мне кажется что ошибка какая-то детская, но тем не менее я с ней не справляюсь.
Был ещё вот такой вариант, но тоже не удачно как-то..

set str=C:\2\balcon.exe -n "111" -f "C:\2\О.txt
set str=%str:111=<C:\2\111.txt%
%str%

Iska 03-11-2017 16:42 2775273

Цитата:

Цитата NLOLegion
Есть у меня вот такой код »

Это весь код или ещё что-то есть в пакетном файле?

Цитата:

Цитата NLOLegion
Если код выше просто вставить в командную строку то всё работает, но если запустить как батник обычным двойным кликом, то нет. »

Судя по тому, что выделенное:
Цитата:

Цитата NLOLegion
C:\2\balcon.exe -n "%111%" -f "C:\2\О.txt" »

— кириллица, убедитесь, что Вы сохраняете пакетный файл в кодировке OEM/866.

alpap 03-11-2017 21:36 2775321

NLOLegion,
Найдите отличие:

вар1
Код:

@echo off
set /p 111=<C:\2\111.txt
echo %111%
pause

вар2
Код:

@echo off
set /p z=<C:\2\111.txt
echo %z%
pause


NLOLegion 04-11-2017 05:08 2775352

alpap, получается что? единицы экранировали? теперь всё работает. Спасибо.

alpap 04-11-2017 13:36 2775376

NLOLegion,
ну если хочется сильно вывести переменную с таким именем, то строку вывода записать надо так, например:
Код:

cmd /v/c echo !111!
или
Код:

cmd /c echo %%111%%


Время: 22:54.

Время: 22:54.
© OSzone.net 2001-