年、国名、およびその特定の年の最終更新日に基づいてファイルを除外し、その特定の年および国からアーカイブ フォルダーに移動された残りのファイルを除外する必要があります。
例として
SS_MM_Master_finland_2018.xlsx 最終更新日 2018 年 6 月 27 日 19:00。 SS_MM_Master_finland_2017.xlsx 最終更新日 2017/06/27 19:00。
この場合、同じ国と年がファイル名で異なるため、特定の年-最終更新日が除外されるため、両方のファイルが除外されます
誰かが自分の経験に基づいて小さな例を挙げられるかどうか知りたい...上記の例や複数の除外ルールからである必要はなく、何か貢献していただければ幸いです
私が試してみました
$Files = Get-ChildItem -File C:\Setup | select Name, LastWriteTime
foreach($FileName in $Files)
{
##### - Split elements: 0 = SS, 1 = MM, 2 = Master, 3 = Country, 4 = Year
$MyFile = $FileName # Get FileName
$fileCountry = $FileName.Name[0].Split('_')[3] # Get Country
$fileYear = $FileName.Name[0].Split('_')[4] # Get Year
}
国と年に基づいて最大値 (最終更新日) を取得する方法
以下のクエリを今日試してみて、 year 、 country のすべての値を取得しましたが、 max(その特定の年と国の最終更新日) を取得する方法
$Files = Get-ChildItem -File C:\Users\rramesnc\Documents\Advisory_Rate | select Name, LastWriteTime
foreach($FileName in $Files)
{
####- Split elements: 0 = SS, 1 = MM, 2 = Master, 3 = Country, 4 = Year
#### - Get FileName:
$MyFile = $FileName
#### - Get Country:
$FileName -split "-"
#### - Get Year
$fileYear = $FileName.Name.Split("_")[4,3]
$fileCountry.Name
#### - Sample getting the year value from the ".LastWriteTime":
$FileName
$fileYear
$FileName.LastWriteTime