YanoRyuichi.com/
Wiki
Blog
GitHub
Sandbox
開始行:
* 2つのフォルダ内を比較する - PowerShell [#q9cba995]
** 目的・前提 [#gedb561b]
- 2つのフォルダ内にあるファイル群のうち、異なっているファ...
- 異なっているとは、1)ファイル名が違うか、ファイル名が同...
- テキストファイルの中身の比較を細かに行いたい場合はWinMe...
- 今回は "dir1" と "dir2"という2つのフォルダ内のファイル...
** 更新日時が直近10件を抜き出す(サブディレクトリを含める...
PS> dir -r dir1 -File | sort LastWriteTime -Descending |...
PS> dir -r dir2 -File | sort LastWriteTime -Descending |...
FullName FileSize LastWriteTime
-------- -------- -------------
C:\temp\dir1\3.txt 10 B 2018/05/05 13:53:24
C:\temp\dir1\2.txt 5 B 2018/05/05 10:10:05
C:\temp\dir1\1.txt 11 B 2018/05/04 09:40:34
- 上のコマンドをそれぞれのフォルダごとに実行する。
- ファイルのフルパスとファイルサイズ、最終更新日時がリス...
- 変更したファイルが大量にあったり、まったく知らないファ...
- 最近いくつかファイルを更新したあるいはいくつかファイル...
** ファイル名で比較する(サブディレクトリを含めない) [#h...
PS> $d1 = gci dir1
PS> $d2 = gci dir2
PS> compare $d1 $d2 -passthru | select fullname
FullName
--------
C:\temp\dir2\4.txt
C:\temp\dir1\2.txt
- フォルダ内にファイルが大量にあって、最近追加された、あ...
- 上の例ではdir1に2.txtがあるが、dir2にはない。dir2に4.tx...
- ただし、フォルダ内のフォルダ(サブディレクトリ)以下の...
- また、この方法はファイルの中身は検証しないので、ファイ...
** ファイル名他で比較する(サブディレクトリを含める) [#r...
*** ファイル名とファイルサイズで比較する [#y1de2f1a]
PS> $map1 = @{}; cd dir1; dir -r -file | % { $p = Resolv...
PS> $map2 = @{}; cd dir2; dir -r -file | % { $p = Resolv...
PS> $map1.Keys + $map2.Keys | ? { $map1[$_] -ne $map2[$_...
% { if (!$map1.containskey($_)) { "2 only: " + $_...
elseif (!$map2.containskey($_)) { "1 only: " + $_...
1 only: .\A\20.txt
2 only: .\4.txt
differ: .\2.txt
- dir1とdir2に対して、相対ファイルパス名をキーに、そのフ...
- 上の例ではdir1以下だけにA\20.txtが存在している。dir2以...
- ほとんどの場合、ファイルを書き換えた場合はファイルサイ...
- なお、行末の`(バッククォート)は行の折り返しのためなの...
*** ファイル名とファイルサイズと更新日時で比較する [#k1a4...
PS> $map1 = @{}; cd dir1; dir -r -file | % { $p = Resolv...
PS> $map2 = @{}; cd dir2; dir -r -file | % { $p = Resolv...
PS> $map1.Keys + $map2.Keys | ? { $map1[$_] -ne $map2[$_...
% { if (!$map1.containskey($_)) { "2 only: " + $_ } el...
sort | gu
PS> $map1.Keys + $map2.Keys | ? { $map1[$_] -ne $map2[$_...
- この方法でほぼ間違いなく抜き出せると思うが、それでも心...
終了行:
* 2つのフォルダ内を比較する - PowerShell [#q9cba995]
** 目的・前提 [#gedb561b]
- 2つのフォルダ内にあるファイル群のうち、異なっているファ...
- 異なっているとは、1)ファイル名が違うか、ファイル名が同...
- テキストファイルの中身の比較を細かに行いたい場合はWinMe...
- 今回は "dir1" と "dir2"という2つのフォルダ内のファイル...
** 更新日時が直近10件を抜き出す(サブディレクトリを含める...
PS> dir -r dir1 -File | sort LastWriteTime -Descending |...
PS> dir -r dir2 -File | sort LastWriteTime -Descending |...
FullName FileSize LastWriteTime
-------- -------- -------------
C:\temp\dir1\3.txt 10 B 2018/05/05 13:53:24
C:\temp\dir1\2.txt 5 B 2018/05/05 10:10:05
C:\temp\dir1\1.txt 11 B 2018/05/04 09:40:34
- 上のコマンドをそれぞれのフォルダごとに実行する。
- ファイルのフルパスとファイルサイズ、最終更新日時がリス...
- 変更したファイルが大量にあったり、まったく知らないファ...
- 最近いくつかファイルを更新したあるいはいくつかファイル...
** ファイル名で比較する(サブディレクトリを含めない) [#h...
PS> $d1 = gci dir1
PS> $d2 = gci dir2
PS> compare $d1 $d2 -passthru | select fullname
FullName
--------
C:\temp\dir2\4.txt
C:\temp\dir1\2.txt
- フォルダ内にファイルが大量にあって、最近追加された、あ...
- 上の例ではdir1に2.txtがあるが、dir2にはない。dir2に4.tx...
- ただし、フォルダ内のフォルダ(サブディレクトリ)以下の...
- また、この方法はファイルの中身は検証しないので、ファイ...
** ファイル名他で比較する(サブディレクトリを含める) [#r...
*** ファイル名とファイルサイズで比較する [#y1de2f1a]
PS> $map1 = @{}; cd dir1; dir -r -file | % { $p = Resolv...
PS> $map2 = @{}; cd dir2; dir -r -file | % { $p = Resolv...
PS> $map1.Keys + $map2.Keys | ? { $map1[$_] -ne $map2[$_...
% { if (!$map1.containskey($_)) { "2 only: " + $_...
elseif (!$map2.containskey($_)) { "1 only: " + $_...
1 only: .\A\20.txt
2 only: .\4.txt
differ: .\2.txt
- dir1とdir2に対して、相対ファイルパス名をキーに、そのフ...
- 上の例ではdir1以下だけにA\20.txtが存在している。dir2以...
- ほとんどの場合、ファイルを書き換えた場合はファイルサイ...
- なお、行末の`(バッククォート)は行の折り返しのためなの...
*** ファイル名とファイルサイズと更新日時で比較する [#k1a4...
PS> $map1 = @{}; cd dir1; dir -r -file | % { $p = Resolv...
PS> $map2 = @{}; cd dir2; dir -r -file | % { $p = Resolv...
PS> $map1.Keys + $map2.Keys | ? { $map1[$_] -ne $map2[$_...
% { if (!$map1.containskey($_)) { "2 only: " + $_ } el...
sort | gu
PS> $map1.Keys + $map2.Keys | ? { $map1[$_] -ne $map2[$_...
- この方法でほぼ間違いなく抜き出せると思うが、それでも心...
ページ名: