我目前有一个 SQL 作业(SQL Server 2008 R2),它检查文件夹中的所有备份文件,然后动态创建一个批处理文件以将最新的文件复制到具有新名称的新位置,以便它可以被压缩将其他备份文件。
我希望将它自己变成一个批处理文件,而无需先运行 SQL Server 部分。但不知道如何找出最新的备份文件。一些在线检查显示了如何获取文件夹中的最新文件,但同一文件夹中有事务日志备份。
基本上我认为它会是这样的:
for /f %%x in ('dir "J:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\CommonInterface\*.bak" /B /O:-D') do set NEWEST_BAK & goto DONE
:DONE
copy "%newest%" F:\backup\new.bak
Pause
但这给出了错误:
Environment variable NEWEST_BAK not defined
任何帮助将不胜感激。
谢谢
亚历克斯