【发布时间】:2019-03-21 00:00:09
【问题描述】:
不幸的是,我是 PowerShell 的新手,我有许多文件希望每月使用 PowerShell 存档。每个文件的文件名中都有一个 YYYYMM 日期戳。我想移动日期戳超过 24 个月的文件。
例子:
文件1_201903.txt file2_201902.txt ... file3_201703.txt(应该存档) file4_201702.txt(应该存档)请注意,源文件位于包含多个子文件夹的目录中。我希望脚本检查所有子文件夹。这些文件夹不需要在目标中复制。
这是我迄今为止尝试过的:
$SourceDir = 'C:\source'
$DestDir = 'C:\destination'
$YearsAgo = 2
$Then = (Get-Date).AddYears(-$YearsAgo).Date
Get-ChildItem -Path $SourceDir |
Where-Object {
$DatePart = ($_.BaseName -split '_')[1]
$FileDate = [DateTime]::ParseExact($DatePart, 'yyyyMMdd', [CultureInfo]::CurrentCulture)
$FileDate -lt $Then
} |
Move-Item -Destination $DestDir
【问题讨论】:
-
由于 SO 不是代码编写服务,您必须自己完成。你已经尝试过什么?请显示您的代码并解释您卡在哪里或没有按预期工作或您遇到什么错误。您可能会(再次)阅读以下帮助主题:the Tour、How to create a Minimal, Complete, and Verifiable example 和 How do I format my posts using Markdown or HTML?。
-
帖子更新了我迄今为止尝试过的格式和代码。
标签: powershell