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
并格式化新字符串。最后,它将文件重命名为新名称。
如果我的问题看起来太简单了,我深表歉意。我是 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
并格式化新字符串。最后,它将文件重命名为新名称。