2016-10-25 5 views
2

サブディレクトリにあるファイルを含むディレクトリ内のファイルを削除するPowerShellスクリプトがあります。My PowerShellスクリプト

$DelFiles = get-childitem $DirectoryName -include $FileTemplate -recurse |where {$_.Lastwritetime -lt (date).AddDays(-$days)} 

すべてのヘルプは

答えて

2

をいただければ幸いだけ-recurse削除:私は私が持っているものである。ここ

サブディレクトリ内のファイルを削除するには、それだけでそのディレクトリ内のファイルを削除しないようにする必要があります

$DelFiles = get-childitem $DirectoryName -include $FileTemplate | where {$_.Lastwritetime -lt (date).AddDays(-$days)} 
+0

私はそれを試みましたが、ディレクトリとそのサブディレクトリでファイルが削除されていません – igortr

+0

おそらく、スクリプトにも変更が必要なものがありますか? – igortr

+0

全体のスクリプトを投稿してください。 – Nasir

0

Powershell(v 2.0.-1.-1)は面白い動作をします

Get-ChildItem . -include *.txt 

- あなたの期待に失敗します

Get-ChildItem .\* -include *.txt 

(ゼロの一致を返します) - 適切な予想結果を生成します。

を(現在のディレクトリ内のすべてのtxtファイルを返します。)それの一部であるように見えるデザインだ - それは手動です参照してください。

Get-Help Get-ChildItem -full 

おそらく、あなたは$ DirectoryNameのは、Cのような形式になっています。\ 111 \、ときのためにC:\ 111 \ *

get-childitem C:\111\* -include *.txt 

のようなものを提供する必要があります。^_^

0

削除再帰および追加-file

あなたは

get-childitem $DirectoryName -File -Filter $FileTemplate | where {$_.Lastwritetime -lt (date).AddDays(-$days)} | Remove-Item -Force 
サブディレクトリのみディレクトリ内のファイルではなくを削除したい場合は、ディレクトリおよびサブディレクトリ

get-childitem $DirectoryName -recurse -File -Filter $FileTemplate | where {$_.Lastwritetime -lt (date).AddDays(-$days)} | Remove-Item -Force 

内のファイルのみを削除したい場合は、

+0

試しに失敗しました – igortr

+0

$ FileTemplate変数には何がありますか?目的のLastWriteTimeに一致するファイルがありますか? – Esperento57

+0

ファイルタイプ.txt。 – igortr

関連する問題