PowerShell:Select 文件夹中具有特定名称的文件,并通过添加当前日期重命名

PowerShell: Select file with specific name from the folder and rename it by adding the current date

如果我的问题看起来太简单了,我深表歉意。我是 PowerShell 的新手,我仍在学习基础知识。

我有一个文件夹E:\LastMonthBackup

其中 SQL 服务器每天添加一个名为 ProjectBackup.bak

的新文件

我需要一个 PowerShell 脚本,它可以通过添加文件的创建日期来重命名这个新添加的文件。

所以本质上我希望每个新文件都被命名为ProjectBackup_Year_Month_Day.bak

我不希望脚本触及名称中已有日期的文件。只有这个新的 ProjectBackup.bak 文件应该重命名。

你能帮我写这样的脚本吗?

我发现了一个相关问题 here,但是当我尝试在我的脚本中应用它的解决方案时,它不起作用,或者我只是搞砸了一些东西。我是 PowerShell 的新手,因此非常感谢您的帮助。

如果只有一个文件您想重命名为您的模式,您可以试试这个:

$fileToRename = "E:\LastMonthBackup\ProjectBackup.bak"
if (Test-Path $fileToRename)
{
    $fileName = [system.io.path]::GetFileNameWithoutExtension($fileToRename)
    $dateSuffix = get-date -Format 'yyyy_MM_dd'
    $fileExtension = [system.io.path]::GetExtension($fileToRename)
    $newFileName = '{0}_{1}{2}' -f $fileName, $dateSuffix, $fileExtension
    Rename-Item -Path $fileToRename -NewName $newFileName
}

如果文件 $fileToRename 存在,脚本会确定文件名 ProjectBackup、格式为 yyyy_MM_dd 的日期和文件扩展名 .bak 并格式化新字符串。最后,它将文件重命名为新名称。