none
Экранирование служебных символов при выводе переменной RRS feed

  • Вопрос

  • Подскажите решение для данной проблемы
    Допустим есть некий командный файл:

    @echo off
    set "line=!%"
    echo %line%


    Переменная %line% может быть любой, но содержать символы ! и %
    Как корректно вывести переменную в консоль не используя временные файлы?
    30 ноября 2007 г. 8:05

Ответы

Все ответы

  •  

    set line=^!^%

    echo %line%

    30 ноября 2007 г. 10:29
    Модератор
  •  Василий Гусев написано:

     

    set line=^!^%

    echo %line%



    Все получилось, не знаю в чем была причина... Вроде все делал так же
    В 1.txt в некоторых строках встречались ! и % и они не обрабатывались

    @echo off
    chcp  1251 >nul

    for /f "tokens=*" %%i in (1.txt) do (
        set "line=%%i" && call:job

            echo.
    )
    chcp 866 >nul
    goto:eof

    :job

    setlocal enabledelayedexpansion
    set count=0

    :next
    if "
    !line:~%count%,1!"=="=" set /p= = <nul
    set /p=!line:~%count%,1!<nul 2>nul
    set /a count+=1
    ping -n 1 localhost >nul
    if not "!line:~%count%,1!"=="" goto:next

    Что изменить в коде чтоб обрабатывался знак =
    :: Добавлено :: решение нашел :: в коде исправления сделал :: спасибо за помощь

    30 ноября 2007 г. 11:14