0

すべての SQL データベースをバックアップする小さなスクリプトを作成しています。名前がわずかに異なるため、最初に名前を出力するこの関数が必要です。すべての SQL データベースに対して実行されるスクリプトが既にあるので、このコマンド ラインでここでバックアップ ファイル名を変更するだけです。

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
     }

getbackupfile | 出力ファイル "c:\backups\lol.txt"

私のファイルで受け取るものは次のとおりです。

名前

db1.bak

そして、私が必要とするのは、「name」のようなものを含まない「db1.bak」だけです

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 に答える