プログラミング学習サイト

プログラミングの学習を開始される方を対象としたプログラミング入門サイトです。

Powershellでファイルの比較を行う

Powershell概要

minegishirei.hatenablog.com

二つのデータの出力を比較する

比較する際にはCompare-Objectの引数に二つのデータを入れてやれば良い


notepad
$processes = Get-Process
Stop-Process -ProcessName Notepad
$newProcesses = Get-Process
Compare-Object $processes $newProcesses

実行結果


InputObject                           SideIndicator
-----------                           -------------
System.Diagnostics.Process (notepad)  <=

この場合はメモ帳を開いてからプロセスを取得

また、メモ帳を閉じてからプロセスを取得

上記二つのデータを比較している。

ファイルの中身を比較する。

サンプルコード


"Hello World" > c:\temp\file1.txt
"Hello World" > c:\temp\file2.txt
"More Information" >> c:\temp\file2.txt
$content1 = Get-Content c:\temp\file1.txt
$content2 = Get-Content c:\temp\file2.txt
Compare-Object $content1 $content2

実行結果


InputObject             SideIndicator
-----------             -------------
More Information        =>

最初の二行でc:\temp\file1.txtファイルとc:\temp\file2.txtにはHello Worldという文字列が挿入された。

次の一行でMore Informationをc:\temp\file2.txtのみに追加した。

その後、二つのファイルの中身を変数に入れて、その変数をCompare-Objectで比較。

結果には差分のMore Information のみ表示される。

title:powershellのデータ比較コマンド

description:比較する際にはCompare-Objectの引数に二つのデータを入れてやれば良い

img:https://boeprox.files.wordpress.com/2016/01/image2.png category_script:page_name.startswith("16")

page:https://minegishirei.hatenablog.com/entry/2024/05/22/090607