大家都是 Powershell 新手 - 非常感谢您的帮助!我有一个留给我的现有脚本,它基本上将 pdf 文件移动到同一目录中的同名文件夹中。
这太棒了 - 直到您有一个同名的 pdf 需要进入文件夹而不覆盖旧的。脚本是-
$folder = 'V:\Files'
Set-Location $folder
Get-ChildItem *.pdf | Move-Item -Destination { $_.BaseName.}
有没有一种方法可以将日期附加到 pdf 的末尾并将其移动到文件夹中,这样继续前进就不会出错?
例如,如果我有 2023 年 5 月 1 日创建的 pdf '123456789' 和 2024 年 5 月 1 日创建的 pdf '123456789',它将把它们都移动到现有文件夹 '123456789' 中,如下所示:
'123456789_05_01_2023.pdf'
'123456789_05_01_2024.pdf'
我尝试过在各种网站上查找有效的脚本,但就像我说的 - 一个新手,正在寻求一些帮助来了解如何做类似的事情。谢谢!
您与当前的代码非常接近,只需将
.BaseName
与 .CreationTime
属性 连接起来,最后连接到 .Extension
属性。要获取问题中的日期格式,您可以使用字符串格式MM_dd_yyyy
。把所有的放在一起可能是:
$folder = 'V:\Files'
$destination = 'X:\path\to\myDestination'
Get-ChildItem -Path $folder *.pdf | Move-Item -Destination {
Join-Path $destination -ChildPath ('{0}_{1:MM_dd_yyyy}{2}' -f $_.BaseName, $_.CreationTime, $_.Extension)
}