2017-07-06 3 views
-1

この行に私の髪を引き出します。 私が考えることができるのは、フォーマットの問題です。最後の時間に修正されたファイルを見つけるためにフォルダをチェックするpowershellを取得できません

foreachの(で$ファイル(のGet-ChildItemコマンドレット$ CompanyDir))ファイルが過去の時間、これは 、独自の心を持っているようだ

if ($file.LastWriteTime -ge [datetime]::Now.AddMinutes(-60)) 

に変更された場合は{

チェック何度か他の時に動作します 私は別の結果を得るたびに フォルダを検索し、最後の時間に修正されたファイルがあればフォルダ全体を圧縮します。 それがビュンされなかった過去の時間 今日以前に改正ファイルがないにも関わらず、今ビュンしているようだが、私は6000のようなとんでもないものに分を移動した場合には、これが正しい、私が知っている ジップだろう、私が入れたときに理由($ file.LastWriteTime -ge [datetime] :: Now.AddMinutes(-60))

これまでは何も動作していませんでした。私は別のドライブにフォルダ構造を移動し、それが動作し始めた。フォルダが場所に関係なく同じ属性を持つ必要があるので、なぜこれが当てはまるのかわかりません。 私はこの方法をオフにすることができますが、私は今すぐアイデアから外れているので、どんな入力も大きな助けになるでしょう。

おかげ

答えて

0

あなたはそれぞれ$ファイルが何であるかについてより明確にすることができ それは...あなたはここに投稿したリトルビットから何が起こっているのか教えてちょっと難しいですが、あなたは物事あなたを取得される可能性があります012に興味がありません。
これは、サブを介して再発することを意味しますか? ファイルのすべての方法、または「実際の」ファイルだけを調べたいですか?

は、Get-ChildItemコマンドレット[[-Filter]] [-attributes {読み取り専用|隠された|システム| アーカイブ|デバイス|ノーマル|一時的| | SparseFile |リパルスポイント|圧縮された|オフライン| NotContentIndexed |暗号化された| IntegrityStream | NoScrubData}]

+0

フォルダーにファイルが1つ変更されている場合は、フォルダー構造内のすべてのファイルをチェックしてから、ステートメントを終了して続行します。私はそれが継続していることを知っているので、それが働いている。なぜ私が理解できないのは、スクリプトを実行する結果が違うからです。とても奇妙です。 – MavCoder

+0

私は、あなたがディレクトリとおそらくはデバイスをチェックしていると思います。 get-childitemの結果を通常のファイルだけにフィルタリングすることをお勧めします。おそらく、私はそれを十分に明示するつもりはなかったでしょう。アクティビティを記録することもできます。たとえば、圧縮をトリガしたファイルの名前を出力します。 –

+0

デニスに感謝します。私はまもなくそれを試みます。あなたの助けに感謝。 – MavCoder

関連する問題