如果我的问题看起来太容易,我真诚地道歉。我是PowerShell的新手,我还在学习基础知识。
我有一个文件夹E:\LastMonthBackup
SQL Server每天添加一个名为ProjectBackup.bak的新文件
我需要一个PowerShell脚本,可以通过在创建文件时添加日期来重命名这个新添加的文件。
所以从本质上讲,我希望每个新文件都被命名为ProjectBackup_Year_Month_Day.bak
我不希望脚本触及已在其名称中包含日期的文件。只应重命名这个新的ProjectBackup.bak文件。
你能帮我写这样的剧本吗?
我发现了一个相关的问题here,但是当我尝试在我的脚本中应用解决方案时,它无效或者我只是弄乱了一些东西。我是PowerShell的新手,所以任何帮助都将不胜感激。
答案 0 :(得分:3)
如果只想将一个文件重命名为您的模式,可以尝试这样做:
$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
并格式化新字符串。最后,它将文件重命名为新名称。