簡體   English   中英

使用 Powershell 將文件名和文件內容的值分配給模板

[英]Assign value from filename and content of file to a template using Powershell

在我的目錄路徑\中,我有許多名稱如下的文本文件

area1.txt
area2.txt
area3.txt

每個文件都包含許多看起來像這樣的襯線字符串

user1
user2
user3

如何編寫 Powershell 腳本以將文件的所有文件名和內容傳遞給模板,以便每次迭代或將所有結果組合成單個文件時看起來像這樣。

area "filename"
user "user1"
realname "user1"

設法編寫了一個腳本,但它沒有產生預期的結果。 不知何故,它只在用戶和實名模板之后產生循環中文件名的最后一個值和空字符串。

foreach($file in Get-ChildItem path\ -Filter *.txt){
$result = @"
area $($file.BaseName)
area {0} 
realname {0} 
"@
}

foreach($file in Get-ChildItem path\ -Filter *.txt){
    foreach ($line in $file |Get-Content){
        $result -f $_
    }
  }

需要您的幫助來指出我腳本中的錯誤並幫助我修復它。 如果有人能提供幫助,我真的很感激。

為此,您只需要一組(嵌套)循環,然后在內部循環中適當地引用$line$file

foreach($file in Get-ChildItem path\ -Filter *.txt){
    foreach ($line in $file |Get-Content){
        @"
area {1}
user {0} 
realname {0}
"@ -f $line,$file.BaseName
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM