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

Показать сообщение отдельно

Ветеран


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

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


Цитата TolikD:
С кодом всё понятно вроде. »
Совсем непонятно.

1. Когда Вы используйте в таком виде вывод в файл в той же команде, которой пытаетесь читать из него — происходит следующее:
Скрытый текст

В итоге — как видите, Ваша команда радостно пытается читать из уже пустого файла. Вы обратили внимание, что у коллеги YuS_2 идёт чтение из одного файла, а вывод делается в другой?

2. Единичка в:
Цитата TolikD:
Код: Выделить весь код
C:\debug\cmdtest>findstr /I /V "192.168.1.101" test.txt 1>test.txt
»
— это, как уже написал выше коллега YuS_2, просто номер дескриптора стандартного потока вывода, stdout (Стандартные потоки — Википедия). Её показывает интерпретатор команд при включённом режиме отображения команд (попросту — когда Вы не использовали echo off). На опустошение файла перед его чтением она никоим образом не влияет и влиять не может.

Цитата YuS_2:
который перенаправлен в nul. »
А вот это не понял. Где там nul?!


Цитата TolikD:
Твой код тоже не работает. »
Работает.

Цитата TolikD:
Точнее он работает при вводе команды без перенаправления в левый файл, как работает и у меня. А вот в тот же файл почему-то облом.
Пора тему переименовать в разборки с командой findstr... »
Объяснение — на скриншоте: в указанном Вами виде файл test.txt сначала обнуляется, и лишь затем идёт попытка чтения из него. findstr.exe тут совершенно не при чём, вместо неё может быть любой исполняемый файл.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:56, 23-08-2018 | #4