0

我正在编写一个小脚本来备份我所有的 sql 数据库,它们的名称略有不同,所以我需要这个函数,它首先将我的名称输出文件。因为我已经有为每个 sql db 运行的脚本,所以我只需要在此命令行中更改备份文件名:

USE [master]
RESTORE DATABASE [PMI_MIP_PMI] FROM  DISK = N'D:\backups\db1.bak' WITH  FILE = 1,  NOUNLOAD,  REPLACE,  STATS = 50

GO

To go for that I thought about outfiling the special dbname from the backup :

function getbackupfile
{
    get-childitem "$backupfolder" | Where-Object {$_.Name -like "*db1*" } |  Where-Object {$_.extension -eq ".bak"} | select-object Name
     }

获取备份文件 | 输出文件“c:\backups\lol.txt”

我在文件中收到的是:

姓名

db1.bak

而我需要的只是'db1.bak',没有像'name'这样的东西

4

1 回答 1

1

使用Select -Expand Name,它将只为您提供该属性值,而不是包含所有请求属性的对象。

对于您的其他评论,请使用以下命令:

# Stores the value of Name in variable DBName
... | Select -Expand Name -OutVariable DBName

# Same thing, indirectly
$DBVarName = "DBName"
... | Select -Expand Name -OutVariable $DBVarName 
于 2013-10-18T14:15:31.433 回答