none
2つのフォルダ間のファイル名の比較 RRS feed

  • 質問

  • ■実現したいこと
    下記1~3を実現したいと考えていますが、
    現状は2.でつまづいており、アドバイスをいただければ幸いです。

    1. 10分おきにデータが追加されるフォルダAからフォルダBにPower Shell を起動してファイルをコピー

    2. フォルダAとフォルダBを比較して同名のファイルを取得
       ※フォルダAは10分おきにデータが追加されるためコピー漏れを防ぐため

    3. 「2.」で取得したファイルをフォルダA内から削除

    ■現状
    1.Move-itemではフォルダごと移動してしまうため、現在は①をCopy-itemで実現しています。

    2.下記で取得を試みていますが、うまく取得できていません。
       $d1 = gci C:\temp\dir1
       $d2 = gci C:\temp\Copy\dir1
       compare $d1 $d2 -passthru | select fullname

    3.「2.」がうまくいかないため未着手ですが、手法の検討はついています。



    何卒アドバイスのほど、よろしくお願いいたします。
    2019年11月15日 9:28

回答

  • Compare-Objectコマンドレットは、既定ではオブジェクトの比較で行っているので、別の手段で取得したFileInfo同士の比較だと当然ながら別物として扱われます。

    特定のプロパティで比較したいのなら、-Propertyパラメータを使って比較に使用するプロパティを指定します。

    また、一致したものを返させるには、-IncludeEqualスイッチと-ExcludeDifferentスイッチの指定が必要でしょう。

    • 回答としてマーク Lopez0312 2019年11月19日 5:38
    2019年11月15日 9:59