Come visualizzo il contenuto di un file di testo in CMD?


Risposte:


321

Puoi usare il morecomando Per esempio:

more filename.txt

Dai un'occhiata alle utility GNU per Win32 o scaricalo :


Com'è simile a tail -f? loop di coda per sempre. Come hai replicato il -f di esso?
Elie Saad,

2
Questo non risponde alla domanda. Non so perché sia ​​valutato così in alto. OP stava cercando 2 cose: un'alternativa a Windows per il gatto e un'alternativa a tail-f. Se hai intenzione di installare le utility GNU per Windows, puoi usare quelle cose.
Gburton,

174

Possiamo usare il comando 'type' per vedere il contenuto del file in cmd.

Esempio -

type abc.txt

Ulteriori informazioni sono disponibili QUI .


Mi piace questa risposta perché non è interattiva. moremostra N schermate alla volta che è necessario fare clic
user2023861

23

Non penso che ci sia una funzione integrata per questo

xxxx.txt > con

Questo apre i file nell'editor di testo predefinito in Windows ...

type xxxx.txt

Questo visualizza il file nella finestra corrente. Forse questo ha parametri che puoi usare ...

C'è una domanda simile qui: script batch CMD.EXE per visualizzare le ultime 10 righe da un file txt Quindi c'è un comando "more" per visualizzare un file dalla riga data, oppure puoi usare GNU Utilities per Win32 cosa ha suggerito bryanph nel suo link.


7

Puoi usare il comando 'more' per vedere il contenuto del file:

more filename.txt

2
Benvenuto in StackOverflow e grazie per aver cercato di aiutarti. Spiega come utilizzare la versione Windows di more per vedere automaticamente le nuove righe in arrivo in un file di testo. Ciò renderebbe la tua risposta più direttamente correlata alla domanda dei PO, ovvero dimostrare che il PO compatibile con "tail -f" desidera.
Yunnosch,

4

Utilizzando un singolo comando di PowerShell per recuperare la fine del file:

powershell -nologo "& "Get-Content -Wait c:\logFile.log -Tail 10"

Si applica a PowerShell 3.0 e versioni successive.

Un'altra opzione è quella di creare un file chiamato TAIL.CMD con questo codice:

powershell -nologo "& "Get-Content -Wait %1 -Tail %2"

Funziona, ma è troppo lento, poiché PowerShell potrebbe impiegare 2 o 3 secondi per avviarsi.
Anic17

2

Per fare ciò, è possibile utilizzare la shell della riga di comando più avanzata di Microsoft chiamata " Windows PowerShell ". Dovrebbe venire standard sulle ultime versioni di Windows, ma è possibile scaricarlo da Microsoft se non lo si è già installato.

Per ottenere le ultime cinque righe nel file di testo, leggi semplicemente il file usando Get-Content, quindi Select-Objectscegli le ultime cinque voci / righe per te:

Get-Content c:\scripts\test.txt | Select-Object -last 5

Fonte: utilizzo del cmdlet Get-Content


La risposta di @Eyal è più adatta quando viene chiamata dal cmd, e il codice è meglio usando Tail che piping in Select-Object. Non puoi fare -Attendi mentre fai anche Seleziona oggetto. Questo non è ciò che l'OP richiede.
Elie Saad,

1

Non è disponibile alcuna opzione integrata con Windows. Per monitorare costantemente i log è possibile utilizzare questa applicazione gratuita BareTailPro .



1

Se vuoi che visualizzi il contenuto del file in tempo reale e si aggiorni quando il file viene modificato, usa questo script:

@echo off
:start
cls
type myfile.txt
goto start

Ciò si ripeterà per sempre fino alla chiusura della finestra cmd.


Questo non replica la funzionalità di coda.
Preet Sangha,

1

Puoi farlo in alcuni metodi:

Uno è il typecomando: type filename Un altro è il morecomando: more filename Con morete puoi anche farlo:type filename | more

L'ultima opzione sta usando a for for /f "usebackq delims=" %%A in (filename) do (echo.%%A) Questo andrà per ogni riga e visualizzerà il suo contenuto. Questo è un equivalente del typecomando, ma è un altro metodo di lettura del contenuto.

Se stai chiedendo cosa usare, usa il morecomando perché farà una pausa.


0

Se si desidera visualizzare ad esempio tutto il nome del file .config (o .ini) e il contenuto del file in un documento per riferimento dell'utente (e con questo intendo l'utente che non conosce il comando shell, cioè il 95% di essi), è possibile provare questo:

FORFILES / M * myFile.ini / C "cmd / c echo Nome file: @file >>% temp% \ stdout.txt && type @path >>% temp% \ stdout.txt && echo. >>% temp% \ stdout.txt "| digitare% temp% \ stdout.txt

Spiegazione: - ForFiles: ciclo su una directory (e figlio, ecc.) Ogni file che soddisfa i criteri - in grado di restituire il nome del file corrente in fase di elaborazione (@file) - in grado di restituire il file del percorso completo in fase di elaborazione (@percorso) - Tipo: Emette il contenuto del file

Ps: l'ultimo comando pipe punta al file% temp% e genera il contenuto aggregato. Se desideri copiare / incollare della documentazione, apri semplicemente il file stdout.txt nel textpad.

Buona giornata.


Si prega di utilizzare il codice di blocco `` `per incollare il codice, in quanto renderà più facile la lettura.
Anic17

-1
tail -3 d:\text_file.txt

tail -1 d:\text_file.txt

Presumo che questo sia stato aggiunto a Windows cmd.exe ad un certo punto.


2
no, non tailè ancora un comando standard di Windows. Di solito fa parte di un componente aggiuntivo come Cygwin, GNU o altri.
Stephan,

Questa non è una buona risposta, stai solo dicendo che questo è stato implementato in Windows, ma no, controlla le tue informazioni prima di rispondere.
Anic17
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.