windows - 使用 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
}
}
推荐阅读
- parsing - ANTLR:如何优先考虑解析器规则替代
- zooming - 缩放(开放层)
- java - apache camel-kafka bridgeErrorHandler 不工作
- python - 如果我像人类一样行事(Selenium、Python),网站可以检测到网络抓取吗?
- javascript - 如何在 jQuery 的 $(document).ready() 方法中使用 div id 和 class?
- python-3.x - 如何从csv中删除多个符号
- c# - StackExchange.Redis - 无法解释的超时异常问题
- c++ - 如何在不运行脚本的情况下在 lua 脚本中打印错误?
- android - Android Studio“运行”没有出现
- python - 我无法在基于烧瓶令牌的授权 2.o 中实现 API