Я хочу отобразить содержимое текстового файла в окне CMD. Кроме того, я хочу видеть новые строки, которые добавляются в файл, например tail -fкоманда в Unix.
Как это похоже на tail -f? Хвост петли навсегда. Как ты повторил -f этого?
Эли Саад
2
Это не отвечает на вопрос. Не уверен, почему его так высоко оценили. OP искал 2 вещи - альтернативу windows для cat и альтернативу tail -f. Если вы собираетесь установить утилиты GNU для Windows, вы можете использовать эти вещи.
Гбертон
174
Мы можем использовать команду «type» для просмотра содержимого файла в cmd.
Добро пожаловать в StackOverflow и спасибо за попытку помочь. Пожалуйста, объясните, как версия more из windows может использоваться для автоматического просмотра вновь поступающих строк в текстовом файле. Это сделало бы ваш ответ более непосредственным образом связанным с вопросом OP, то есть продемонстрировало бы, что OP хочет совместимости tail -f.
Юннош
4
Используя одну команду PowerShell для получения окончания файла:
Это работает, но это слишком медленно, так как запуск PowerShell может занять 2 или 3 секунды.
Anic17
2
Для этого вы можете использовать более продвинутую оболочку командной строки Microsoft под названием « Windows PowerShell ». Он должен быть стандартным на последних версиях Windows, но вы можете скачать его с Microsoft, если он еще не установлен.
Чтобы получить последние пять строк в текстовом файле, просто прочитайте файл, используя Get-Content, а затем Select-Objectвыберите последние пять элементов / строк для вас:
Ответ @Eyal более уместен при вызове из cmd, и в коде лучше использовать Tail, чем пускать в Select-Object. Вы не можете делать -Подождать, пока вы выбираете объект. Это не то, что запрашивает OP.
Эли Саад
1
В Windows нет встроенной опции. Для постоянного мониторинга журналов вы можете использовать это бесплатное приложение BareTailPro .
Один - это typeкоманда: type filename
Другой - это moreкоманда: more filename
С помощью этого moreвы также можете сделать это:type filename | more
Последний вариант использует. forfor /f "usebackq delims=" %%A in (filename) do (echo.%%A)
Это будет идти для каждой строки и отображать ее содержимое. Это эквивалент typeкоманды, но это еще один метод чтения содержимого.
Если вы спрашиваете, что использовать, используйте moreкоманду, поскольку она сделает паузу.
Если вы хотите отобразить, например, все имя файла .config (или .ini) и содержимое файла в одном документе для справки пользователя (и под этим я подразумеваю пользователя, не знающего команду оболочки, т.е. 95% из них), вы можете попробовать это:
FORFILES / M * myFile.ini / C "cmd / c echo Имя файла: @file >>% temp% \ stdout.txt && type @path >>% temp% \ stdout.txt && echo. >>% temp% \ stdout.txt "| введите% temp% \ stdout.txt
Объяснение: - ForFiles: цикл в каталоге (и дочернем элементе и т. Д.) Для каждого критерия соответствия файла - возможность вернуть текущее имя файла, являющегося процессом (@file) - возможность вернуть полный путь файла, являющегося процессом (@path) - Тип: Вывести содержимое файла
Ps: последняя команда канала указывает файл% temp% и выводит совокупное содержимое. Если вы хотите скопировать / вставить некоторую документацию, просто откройте файл stdout.txt в textpad.
Ответы:
Вы можете использовать
more
команду. Например:Взгляните на утилиты GNU для Win32 или скачайте ее :
источник
Мы можем использовать команду «type» для просмотра содержимого файла в cmd.
Пример -
Более подробную информацию можно найти ЗДЕСЬ .
источник
more
показывает N экранов за раз, когда вам нужно кликнутьЯ не думаю, что есть встроенная функция для этого
Это открывает файлы в текстовом редакторе по умолчанию в Windows ...
Это отображает файл в текущем окне. Может быть, у этого есть параметры, которые вы можете использовать ...
Здесь есть похожий вопрос: пакетный скрипт CMD.EXE для отображения последних 10 строк из текстового файла. Итак, есть команда «more» для отображения файла из данной строки, или вы можете использовать утилиты GNU для Win32, что предложил Брайанф в его ссылке.
источник
Вы можете использовать команду «more» для просмотра содержимого файла:
источник
Используя одну команду PowerShell для получения окончания файла:
Это относится к PowerShell 3.0 и новее.
Другой вариант - создать файл с именем TAIL.CMD с этим кодом:
источник
Для этого вы можете использовать более продвинутую оболочку командной строки Microsoft под названием « Windows PowerShell ». Он должен быть стандартным на последних версиях Windows, но вы можете скачать его с Microsoft, если он еще не установлен.
Чтобы получить последние пять строк в текстовом файле, просто прочитайте файл, используя
Get-Content
, а затемSelect-Object
выберите последние пять элементов / строк для вас:Источник: использование командлета Get-Content
источник
В Windows нет встроенной опции. Для постоянного мониторинга журналов вы можете использовать это бесплатное приложение BareTailPro .
источник
Утилиту TAIL можно получить из средств Windows Server 2003 Resource Kit .
Вот дополнительные подробности - команда Tail для Windows (CMD) .
источник
Если вы хотите, чтобы он отображал содержимое файла в реальном времени и обновлялся при изменении файла, просто используйте этот скрипт:
Это будет повторяться до тех пор, пока вы не закроете окно cmd.
источник
Вы можете сделать это несколькими способами:
Один - это
type
команда:type filename
Другой - этоmore
команда:more filename
С помощью этогоmore
вы также можете сделать это:type filename | more
Последний вариант использует.
for
for /f "usebackq delims=" %%A in (filename) do (echo.%%A)
Это будет идти для каждой строки и отображать ее содержимое. Это эквивалентtype
команды, но это еще один метод чтения содержимого.Если вы спрашиваете, что использовать, используйте
more
команду, поскольку она сделает паузу.источник
Если вы хотите отобразить, например, все имя файла .config (или .ini) и содержимое файла в одном документе для справки пользователя (и под этим я подразумеваю пользователя, не знающего команду оболочки, т.е. 95% из них), вы можете попробовать это:
FORFILES / M * myFile.ini / C "cmd / c echo Имя файла: @file >>% temp% \ stdout.txt && type @path >>% temp% \ stdout.txt && echo. >>% temp% \ stdout.txt "| введите% temp% \ stdout.txt
Объяснение: - ForFiles: цикл в каталоге (и дочернем элементе и т. Д.) Для каждого критерия соответствия файла - возможность вернуть текущее имя файла, являющегося процессом (@file) - возможность вернуть полный путь файла, являющегося процессом (@path) - Тип: Вывести содержимое файла
Ps: последняя команда канала указывает файл% temp% и выводит совокупное содержимое. Если вы хотите скопировать / вставить некоторую документацию, просто откройте файл stdout.txt в textpad.
Добрый день.
источник
Я предполагаю, что это было добавлено в Windows cmd.exe в какой-то момент.
источник
tail
все еще не стандартная команда windows. Обычно это часть аддона, как Cygwin, GNU или другие.