【发布时间】:2019-04-12 08:02:35
【问题描述】:
我真的希望这是有道理的。脚本会有更多内容,但提供的 sn-p 是我遇到的问题。
我正在做的是每天运行一个脚本以在特定文件夹中查找前一天的文件。有时文件夹在那里并且是空的,在这种情况下它们被删除。如果文件夹存在,请检查它们是否有其他文件。如果文件存在,返回父目录名。
文件夹 11 是永久的,永远不会更改。每天都会创建 11 个文件夹,其名称格式为 YYYYDDD(DDD = julian day)。如果文件夹 YYYYDDD 存在,请检查以 YYDDD 开头的文件夹。如果存在以 YYDDD 开头的文件夹,请检查其中的文件。如果存在任何文件,则返回父目录名称,即 YYDDD。
我知道我的代码当前返回包括文件名在内的整个路径。我希望它返回文件所在父目录的BaseName。
还有其他代码可以忽略。它用于扩展检查其他文件夹中的类似文件。
$date0 = (Get-Date).ToString("yy") + ((Get-Date).AddDays(-1).DayOfYear).ToString("D3")
$date1 = (Get-Date).ToString("yyyy") + ((Get-Date).AddDays(-1).DayOfYear).ToString("D3")
$path0 = "U:\PShell\Testing\Delete Julian Dates\Test\11\$date1"
$path1 = "U:\PShell\Testing\Delete Julian Dates\Test\12\$date1"
$path2 = "U:\PShell\Testing\Delete Julian Dates\Test\13\$date1"
$checkfiles = Get-ChildItem $path0\"$date0*"\*
if (Test-Path $path0\"$date0*"\*) {
$checkfiles|
% { Write-Host $_.FullName }
} else {
Write-Host "Folder does not exist or is empty." }
Pause
【问题讨论】:
标签: powershell scripting powershell-3.0 powershell-4.0 windows-scripting