CMDでテキストファイルの内容を表示するにはどうすればよいですか?


227

テキストファイルの内容をCMDウィンドウに表示したい。さらに、tail -fUNIXのコマンドのように、ファイルに追加された新しい行を確認したい。



これらの回答のいずれかで問題が解決した場合は、回答にマークを付けてください。
Michael Yaeger 2016

回答:


321

moreコマンドを使用できます。例えば:

more filename.txt

Win32のGNUユーティリティを確認するかダウンロードしてください。


これは、tail -fとどのように似ていますか?tail -fは永久にループします。-fをどのように複製しましたか?
Elie Saad

2
これは質問の答えにはなりません。なぜそのように高く評価されているのかわからない。OPは2つのものを探していました-猫の代わりにウィンドウとテール-fの代わりに。Windows用のGNUユーティリティをインストールする場合は、それらを使用できます。
gburton

174

'type'コマンドを使用して、cmdでファイルの内容を確認できます。

例-

type abc.txt

詳細については、こちらをご覧ください。


インタラクティブではないので、私はこの答えが好きです。 moreクリックする必要があるときにN個の画面を表示します
user2023861

23

そのための組み込み関数はないと思います

xxxx.txt > con

これにより、Windowsのデフォルトのテキストエディターでファイルが開きます...

type xxxx.txt

現在のウィンドウにファイルが表示されます。多分これはあなたが使えるパラメータを持っています...

同様の質問がここにあります:txtファイルから最後の10行を表示するCMD.EXEバッチスクリプト したがって、指定された行からファイルを表示する「more」コマンドがあります。彼のリンクで。


7

'more'コマンドを使用して、ファイルの内容を確認できます。

more filename.txt

2
StackOverflowへようこそ。ご協力いただきありがとうございます。moreのWindowsバージョンを使用して、テキストファイルに新しく到着する行を自動的に表示する方法を説明してください。それはあなたの答えをより直接OPの質問に関連させる、すなわちOPが望む "tail -f"互換性を実証するでしょう。
Yunnosch 2017年

4

単一のPowerShellコマンドを使用してファイル末尾を取得する:

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

PowerShell 3.0以降に適用されます。

別のオプションは、次のコードでTAIL.CMDというファイルを作成することです。

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

動作しますが、PowerShellの起動に2〜3秒かかる場合があるため、遅すぎます。
Anic17

2

これを行うには、「Windows PowerShell」と呼ばれるMicrosoftのより高度なコマンドラインシェルを使用できます。Windowsの最新バージョンでは標準で提供されるはずですが、まだインストールしていない場合は、Microsoftからダウンロードできます

単に使用してファイルを読み込むテキストファイルの最後の5行を取得するにはGet-Content、その後、持っているSelect-Objectあなたのための行/最後の5つの項目を選びます:

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

ソース:Get-Contentコマンドレットの使用


@Eyalの答えはcmdから呼び出される方が適切であり、コードはSelect-ObjectにパイプするよりもTailを使用する方が優れています。オブジェクトの選択中に-Waitを実行することはできません。これはOPが要求するものではありません。
Elie Saad

1

Windowsで利用できる組み込みオプションはありません。ログを常に監視するには、この無料のアプリケーションBareTailProを使用できます。



1

ファイルのコンテンツをライブで表示し、ファイルが変更されたときに更新する場合は、次のスクリプトを使用します。

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

これは、コマンドウィンドウを閉じるまで永久に繰り返されます。


これはテールの機能を複製しません。
Preet Sangha 2018

1

あなたはいくつかの方法でそれを行うことができます:

一つは、あるtypeコマンド:type filename もう一つは、あるmoreコマンド:more filename ではmore、あなたもそれを行うことができます。type filename | more

最後のオプションは、for for /f "usebackq delims=" %%A in (filename) do (echo.%%A) これを使用して各行に表示し、その内容を表示します。これはtypeコマンドと同等ですが、コンテンツを読み取る別の方法です。

何を使用するかを尋ねる場合は、moreコマンドを使用して一時停止します。


0

たとえば、すべての.config(または.ini)ファイル名とファイルの内容を1つのドキュメントに表示してユーザーが参照できるようにする場合(つまり、ユーザーがシェルコマンドを知らないことを意味します(つまり、それらの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ファイルを開きます。

良い一日。


読みやすくするため、ブロックコード `` `を使用してコードを貼り付けてください。
Anic17

-1
tail -3 d:\text_file.txt

tail -1 d:\text_file.txt

これは、ある時点でWindowsのcmd.exeに追加されたと思います。


2
いいえ、tailまだ標準のWindowsコマンドではありません。通常、これはcygwin、GNUなどのアドオンの一部です。
Stephan

これは良い答えではありません。これはWindowsに実装されたというだけのことですが、いいえ。答える前に情報を確認してください。
Anic17
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.