PowerShell - 使用明天的日期创建文件夹作为名称,但跳过周末

时间:2016-10-21 13:32:16

标签: date powershell directory

每天晚上我都需要运行批处理文件将一些txt文件转换为PDF并将它们移动到当前日期为文件夹名称的文件夹中。这很容易。

更难的部分是,作为同一批处理文件的一部分,我还需要创建一个文件夹,其中包含第二天的日期作为文件夹名称,但我需要跳过周末。因此,如果我在星期五运行脚本,我需要它自动将文件夹命名为星期一而不是星期六。

到目前为止,我的脚本看起来像这样:

$tomorrow = [DateTime]::Today.AddDays(+1).ToString("dd-MM-yyyy")

$folder = "S:\DailyReports\" + "$tomorrow"

New-Item -Path $tomorrow -ItemType directory

$today = (Get-Date -Format dd-MM-yyyy)

$folder = "S:\DailyReports\" + "$Today"

New-Item -Path $folder -ItemType directory

这对周一至周四晚上的工作非常好,但是如果我在星期五晚上运行它,它只会创建一个星期六而不是星期一的文件夹。< / p>

1 个答案:

答案 0 :(得分:1)

你可以通过简单地检查今天是星期五,如果是星期五又增加三天来做到这一点。如果它不是星期五,那么只需添加一天,因为您的代码已经存在。

if((get-date).DayOfWeek -eq 'Friday'){

    $tomorrow = [DateTime]::Today.AddDays(+3).ToString("dd-MM-yyyy")

} else {

    $tomorrow = [DateTime]::Today.AddDays(+1).ToString("dd-MM-yyyy")

}