Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] Откуда вывод лишней строки?

Аватара для apozlevich

Ветеран


Автор проектов


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


Конфигурация

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


Изменения
Автор: apozlevich
Дата: 18-09-2013
Описание: добавил fx-ftp.txt
Добрый день, форумчане. Наконец-то я смог поймать этот баг в одной строке.
Код: Выделить весь код
for /f "skip=1 delims=" %%i in ('ftp -v -i -s:fx-ftp.txt ftp.mozilla.org') do (echo %%i| findstr /b /r "Firefox Setup .*" | findstr /v ".*Stub.*")
К слову, этот код возвращает имя файла последней беты Firefox, то есть фильтрует листинг директории по FTP и собственно, сами команды FTP. Но выводит он
Цитата:
Firefox Setup 24.0b10.exe
quit
quit - это строка из файла fx-ftp.txt и, следуя логике, как и все остальные строки, она не должна выводиться из-за findstr /b /r "Firefox Setup .*".

Да, временное решение проблемы if not "%%i"=="quit", но выглядит это как-то костыльно.
Надеюсь, вы поможете мне понять, в чем дело.

fx-ftp.txt
читать дальше »
Код: Выделить весь код
anonymous
ilovefx
cd /pub/firefox/releases/latest-beta/win32/ru/
ls
quit

-------
echo 127.0.0.1 google.ru >> %systemroot%\system32\drivers\etc\hosts && ipconfig /flushdns && echo Я ничего не трогал, оно само!


Отправлено: 15:27, 18-09-2013

 

Ветеран


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

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


Так?
Код: Выделить весь код
@echo off

(
    
    echo cd /pub/firefox/releases/latest-beta/win32/ru
    echo ls
    echo quit

) | 2>nul ftp -A ftp.mozilla.org | findstr /v "Stub"
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:03, 18-09-2013 | #2



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

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


Аватара для apozlevich

Ветеран


Автор проектов


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

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


Foreigner, странно все это. В доках сказано не использовать поток, а использовать файл. Ну да ладно, попробовал с ключами -v -i, ничего не получилось, даже не залогинилось. С -a просило залогиниться, а вот с -A (всегда считал, что у нативных виндусовых утилит нет чувствительности к регистру) выводит
Цитата:
Недопустимая команда.
Недопустимая команда.
Firefox Setup 24.0b10.exe
Использованный код:
читать дальше »
Код: Выделить весь код
(
echo anonymous
echo ilovefx
echo cd /pub/firefox/releases/latest-beta/win32/ru/
echo ls
echo quit
) | 2>nul ftp -A ftp.mozilla.org | findstr /v ".*Stub.*"


Но вопрос был о том, почему при некоторых условиях вылезает следующая за корректной строка - такое у меня бывало часто и в разных командах (больше всего неудобно, когда if <чтонибудь> echo).

Не могу найти документацию по ключу -A. Не подскажите?


Ага, я так понял, -A это для анонимного логина, потому и две "недопустимые команды"
Спасибо за красивое решение этой проблемы, но вопрос был более глобален, если найду еще где - отпишусь.

Теперь бы это в переменную загнать

-------
echo 127.0.0.1 google.ru >> %systemroot%\system32\drivers\etc\hosts && ipconfig /flushdns && echo Я ничего не трогал, оно само!


Последний раз редактировалось apozlevich, 18-09-2013 в 18:28. Причина: сам тормоз, надо было копипастить и не выпендриваться


Отправлено: 18:26, 18-09-2013 | #3


Ветеран


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

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


Цитата:
Не могу найти документацию по ключу -A
Просто ftp /?
Если анонимный вход на ftp разрешен, я так понимаю

Цитата:
всегда считал, что у нативных виндусовых утилит нет чувствительности к регистру
Говорят, что этот фтп позаимствован в bsd. Или что-то в этом роде.

Отправлено: 18:36, 18-09-2013 | #4


Аватара для apozlevich

Ветеран


Автор проектов


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

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


Цитата Foreigner:
Просто ftp /? »
Тогда оно пытается подключиться к узлу "/?" по ftp

Цитата Foreigner:
Говорят, что этот фтп позаимствован в bsd. Или что-то в этом роде. »
В общем виде одно и то же, но -A там - active mode. Попробовал запустить скрипт без ключа - не логинится. Майкрософт такой майкрософт.

-------
echo 127.0.0.1 google.ru >> %systemroot%\system32\drivers\etc\hosts && ipconfig /flushdns && echo Я ничего не трогал, оно само!


Отправлено: 18:39, 18-09-2013 | #5


Ветеран


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

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


apozlevich,
Цитата:
Теперь бы это в переменную загнать
Криво, но без дополнительных файлов:
Код: Выделить весь код
@echo off
setlocal

if not "%1"=="flag" for /f "tokens=*" %%i in ( 'call "%~f0" flag' ) do set "a=%%i"
if defined a goto:next

(
    
        echo cd /pub/firefox/releases/latest-beta/win32/ru
        echo ls
        echo quit

) | 2>nul ftp -A ftp.mozilla.org | findstr /v "Stub"

goto:eof

:next
echo %a%

Последний раз редактировалось Foreigner, 18-09-2013 в 19:38.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:29, 18-09-2013 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка - [решено] Как избавиться от лишней записи в меню загрузки okshef Microsoft Windows 7 153 10-05-2017 21:19
CMD/BAT - [решено] вывод диапазона строки HollywooD-new Скриптовые языки администрирования Windows 6 14-08-2013 00:38
CMD/BAT - [решено] Вычитание символов из строки и вывод на экран Instant_SR Скриптовые языки администрирования Windows 4 25-07-2013 11:37
CMD/BAT - Вывод нескольких частей строки без указанного разделителя. d1mbaz Скриптовые языки администрирования Windows 2 24-06-2013 18:41
CMD/BAT - [решено] вывод строки из *.xml LAKERS824 Скриптовые языки администрирования Windows 26 08-07-2012 00:09




 
Переход