Войти

Показать полную графическую версию : echo обрезает вывод после точки


ashum
11-06-2014, 09:57
Есть код:

@echo on

set output="cur_playing.txt"

set "a=Lou Bega"
set "b=%a:&=^&%"
set "c=Mambo No. 5"
set "d=%c:&=^&%"

<nul Set /P echo=%b% - %d%>%output%
recode cp1251..utf8/ %output%

Его вывод:

C:\Users\as\Desktop\1>1.cmd

C:\Users\as\Desktop\1>set output="cur_playing.txt"

C:\Users\as\Desktop\1>set "a=Lou Bega"

C:\Users\as\Desktop\1>set "b=Lou Bega"

C:\Users\as\Desktop\1>set "c=Mambo No. 5"

C:\Users\as\Desktop\1>set "d=Mambo No. 5"

C:\Users\as\Desktop\1>Set /P echo=Lou Bega - Mambo No. 0<nul 5>"cur_playing.txt
"
Lou Bega - Mambo No.
C:\Users\as\Desktop\1>recode cp1251..utf8/ "cur_playing.txt"

Файл cur_playing.txt пустой, а должно в нем быть "Lou Bega - Mambo No. 5".
Помогите поправить.

Iska
11-06-2014, 10:08
Совершенно непонятный код. Где Вы здесь видите вывод «echo»? Вот вывод «echo»:
>"cur_playing.txt" echo Lou Bega - Mambo No. 5
И никаких проблем с «echo обрезает вывод после точки».

ashum
11-06-2014, 10:13
Это кусок кода, значения a и с берутся из предыдущего кода, я здесь заменил их на константы для наглядности.
Переменные b и d заменяют в переменных a и с символы амперсанда на значок. В данном куске не используется.

Проблема со строчкой
<nul Set /P echo=%b% - %d%>%output%

Мне нужен вывод в текстовый файл именно переменных, а не фиксированных значений, как вы написали.
Если убрать из переменной с точку, то вывод в файл работает, выводится: Lou Bega - Mambo No 5

Iska
11-06-2014, 10:45
Проблема со строчкой »
>"%sOutputFile%" <nul set /p sVar=%b% - %d%

ashum
11-06-2014, 10:59
Все работает, спасибо!




© OSzone.net 2001-2012