Windowsのcmdコマンドを使用して1行を選択する

Windowsのcmdコマンドを使用して1行を選択する

プレーン テキスト ファイルにリダイレクトするバッチ ファイルを作成しました。バッチは指定されたパスに移動し、そこで dir コマンドを実行して、出力をテキスト ファイルにリダイレクトします。

テキスト ファイルを開くとツリー全体が表示されますが、最後に変更されたフォルダーは 1 つだけ表示したいのです。

それで、そのフォルダーだけを選択して、それをテキスト ファイルに印刷するために、どのようなコマンドを発行すればよいか、どなたかアドバイスをいただけませんか。

以下は私のバッチファイルの内容です:

S:
cd S:\log\logit-esb\dhl\subscriptions
dir >> D:\Abhi_Work\System_Monitoring\System_monitoring.txt

以下のバッチ ファイルを実行すると、出力がテキスト ファイルに送信されます。

 Directory of S:\log\logit-esb\dhl\subscriptions

05/01/2015  04:25 PM    <DIR>          .
05/01/2015  04:25 PM    <DIR>          ..
05/01/2015  04:25 PM    <DIR>          processed
               0 File(s)              0 bytes
               3 Dir(s)   4,682,932,224 bytes free
 Volume in drive S is System
 Volume Serial Number is 42A7-D3B7

私の要件は、出力ファイルに以下の行のみを表示することです。

05/01/2015  04:25 PM    <DIR>          processed

だから、誰かがこれを達成するのを手伝ってください。

答え1

バッチ ファイル内の次のコマンドは、必要な操作を実行します。

dir | findstr "processed" >> D:\Abhi_Work\System_Monitoring\System_monitoring.txt

ファイルに追加されるSystem_monitoring.txtので、まずは空のファイルであることを確認する必要があります...>>


ソースファイル内の文字列を検索します。

パイピングとリダイレクト

テキスト ファイルは、FINDSTR にパイプまたはリダイレクトできます。

パイプからのデータ ストリーム TYPE file.txt | FINDSTR "searchString"

リダイレクト経由の標準入力 FINDSTR "searchString"

さまざまなデータソースの指定は相互に排他的です。FINDSTRは、ファイル名引数、/F:ファイルオプション、リダイレクトされた入力、またはパイプ入力

答え2

これは Windows 7 に含まれている Powershell であり、パス内の最後に変更されたフォルダーを表示します。

get-childitem -path c: | sort-object LastWriteTime -descending | select -first 1 | format-table -hidetableheaders

関連情報