Chcę wyświetlić zawartość pliku tekstowego w oknie CMD. Ponadto chcę zobaczyć nowe wiersze dodane do pliku, takie jak tail -fpolecenie w systemie Unix.
Jak to jest podobne do tail -f? ogon-f zapętla się na zawsze. Jak zreplikowałeś -f z tego?
Elie Saad
2
To nie odpowiada na pytanie. Nie jestem pewien, dlaczego jest tak wysoko oceniany. OP szukał 2 rzeczy - alternatywy dla systemu Windows dla kota i alternatywy dla tail -f. Jeśli zamierzasz zainstalować narzędzia GNU dla systemu Windows, możesz użyć tych rzeczy.
gburton,
174
Możemy użyć polecenia „typ”, aby zobaczyć zawartość pliku w cmd.
Witamy w StackOverflow i dziękuję za próbę pomocy. Wyjaśnij, w jaki sposób można użyć wersji Windows więcej, aby automatycznie zobaczyć nowo przybyłe linie w pliku tekstowym. To sprawiłoby, że twoja odpowiedź byłaby bardziej bezpośrednio związana z pytaniem dotyczącym PO, tzn. Wykazałaby zgodność „tail-f”, jakiej chce OP.
Yunnosch
4
Za pomocą jednej komendy PowerShell, aby pobrać plik kończący się:
Działa, ale jest zbyt wolny, ponieważ uruchomienie programu PowerShell może potrwać 2–3 sekundy.
Anic17
2
Aby to zrobić, możesz użyć bardziej zaawansowanej powłoki wiersza polecenia firmy Microsoft o nazwie „ Windows PowerShell ”. Powinien być standardowo dostępny w najnowszych wersjach systemu Windows, ale możesz go pobrać z firmy Microsoft, jeśli jeszcze go nie masz.
Aby uzyskać ostatnie pięć wierszy w pliku tekstowym, po prostu przeczytaj plik za pomocą Get-Content, a następnie Select-Objectwybierz dla ciebie pięć ostatnich elementów / linii:
Odpowiedź @Eyala jest bardziej odpowiednia, gdy wywoływana jest z cmd, a kod lepiej jest używać Tail niż pipowania do Select-Object. Nie możesz też zrobić -Czekaj podczas wykonywania Wybierz obiekt. Nie tego wymaga OP.
Elie Saad
1
W systemie Windows nie ma wbudowanej opcji. Aby stale monitorować dzienniki, możesz skorzystać z tej bezpłatnej aplikacji BareTailPro .
Jednym z nich jest typepolecenie: type filename
Drugim jest morepolecenie: more filename
Z moretobą możesz również to zrobić:type filename | more
Ostatnią opcją jest użycie forfor /f "usebackq delims=" %%A in (filename) do (echo.%%A)
To pójdzie do każdej linii i wyświetli jej zawartość. Jest to odpowiedniktype polecenia, ale jest to kolejna metoda odczytywania treści.
Jeśli pytasz, czego użyć, użyj morepolecenia, ponieważ spowoduje to pauzę.
Jeśli chcesz wyświetlić na przykład wszystkie nazwy plików .config (lub .ini) i zawartość pliku w jednym dokumencie w celu odniesienia do nich przez użytkownika (a przez to mam na myśli, że użytkownik nie zna polecenia powłoki, tj. 95% z nich), możesz spróbować:
FORFILES / M * myFile.ini / C "cmd / c echo Nazwa pliku: @file >>% temp% \ stdout.txt && typ @path >>% temp% \ stdout.txt && echo. >>% temp% \ stdout.txt "| wpisz% temp% \ stdout.txt
Objaśnienie: - ForFiles: zapętla katalog (i dziecko itp.) Każdy plik spełniający kryteria - może zwrócić bieżącą nazwę przetwarzanego pliku (@plik) - może zwrócić przetwarzany plik pełnej ścieżki (@ ścieżka) - Typ: Wyjście zawartości pliku
Ps: Ostatnie polecenie potoku wskazuje plik% temp% i wyprowadza zagregowaną zawartość. Jeśli chcesz skopiować / wkleić jakąś dokumentację, po prostu otwórz plik stdout.txt w textpad.
Odpowiedzi:
Możesz użyć
more
polecenia. Na przykład:Spójrz na narzędzia GNU dla Win32 lub pobierz je :
źródło
Możemy użyć polecenia „typ”, aby zobaczyć zawartość pliku w cmd.
Przykład -
Więcej informacji można znaleźć TUTAJ .
źródło
more
wyświetla N ekranów w tym momencie, przez który należy kliknąćNie sądzę, że jest do tego wbudowana funkcja
Spowoduje to otwarcie plików w domyślnym edytorze tekstu w systemie Windows ...
Wyświetla plik w bieżącym oknie. Może ma to parametry, których możesz użyć ...
Tutaj jest podobne pytanie: skrypt wsadowy CMD.EXE do wyświetlania ostatnich 10 wierszy z pliku txt Tak więc istnieje polecenie „więcej”, aby wyświetlić plik z podanej linii, lub możesz użyć GNU Utilities dla Win32, co sugerował bryanph w swoim linku.
źródło
Możesz użyć polecenia „więcej”, aby zobaczyć zawartość pliku:
źródło
Za pomocą jednej komendy PowerShell, aby pobrać plik kończący się:
Dotyczy to PowerShell 3.0 i nowszych.
Inną opcją jest utworzenie pliku o nazwie TAIL.CMD z tym kodem:
źródło
Aby to zrobić, możesz użyć bardziej zaawansowanej powłoki wiersza polecenia firmy Microsoft o nazwie „ Windows PowerShell ”. Powinien być standardowo dostępny w najnowszych wersjach systemu Windows, ale możesz go pobrać z firmy Microsoft, jeśli jeszcze go nie masz.
Aby uzyskać ostatnie pięć wierszy w pliku tekstowym, po prostu przeczytaj plik za pomocą
Get-Content
, a następnieSelect-Object
wybierz dla ciebie pięć ostatnich elementów / linii:Źródło: Korzystanie z polecenia cmdlet Get-Content
źródło
W systemie Windows nie ma wbudowanej opcji. Aby stale monitorować dzienniki, możesz skorzystać z tej bezpłatnej aplikacji BareTailPro .
źródło
Możesz pobrać narzędzie TAIL z narzędzi zestawu Windows Server 2003 Resource Kit .
Oto dodatkowe szczegóły - polecenie Tail dla Windows (CMD) .
źródło
Jeśli chcesz, aby wyświetlała zawartość pliku na żywo i aktualizowała się po zmianie pliku, użyj tego skryptu:
To będzie powtarzane na zawsze, dopóki nie zamkniesz okna cmd.
źródło
Możesz to zrobić na kilka sposobów:
Jednym z nich jest
type
polecenie:type filename
Drugim jestmore
polecenie:more filename
Zmore
tobą możesz również to zrobić:type filename | more
Ostatnią opcją jest użycie
for
for /f "usebackq delims=" %%A in (filename) do (echo.%%A)
To pójdzie do każdej linii i wyświetli jej zawartość. Jest to odpowiedniktype
polecenia, ale jest to kolejna metoda odczytywania treści.Jeśli pytasz, czego użyć, użyj
more
polecenia, ponieważ spowoduje to pauzę.źródło
Jeśli chcesz wyświetlić na przykład wszystkie nazwy plików .config (lub .ini) i zawartość pliku w jednym dokumencie w celu odniesienia do nich przez użytkownika (a przez to mam na myśli, że użytkownik nie zna polecenia powłoki, tj. 95% z nich), możesz spróbować:
FORFILES / M * myFile.ini / C "cmd / c echo Nazwa pliku: @file >>% temp% \ stdout.txt && typ @path >>% temp% \ stdout.txt && echo. >>% temp% \ stdout.txt "| wpisz% temp% \ stdout.txt
Objaśnienie: - ForFiles: zapętla katalog (i dziecko itp.) Każdy plik spełniający kryteria - może zwrócić bieżącą nazwę przetwarzanego pliku (@plik) - może zwrócić przetwarzany plik pełnej ścieżki (@ ścieżka) - Typ: Wyjście zawartości pliku
Ps: Ostatnie polecenie potoku wskazuje plik% temp% i wyprowadza zagregowaną zawartość. Jeśli chcesz skopiować / wkleić jakąś dokumentację, po prostu otwórz plik stdout.txt w textpad.
Dobry dzień.
źródło
Zakładam, że w pewnym momencie został on dodany do Windows cmd.exe.
źródło
tail
nadal nie jest standardowym poleceniem systemu Windows. Zwykle jest częścią dodatku takiego jak cygwin, GNU lub inne.