powershell - Powershell复制文件信息
问题描述
我正在编写一个自动化脚本,它将备份 XML 文件,解析内容以删除某个单词并替换为另一个,将完成的文件复制到不同的目录。我已经让它适用于单个文件,但如果有多个文件,它会获取文件夹中所有文件的内容并将其应用于所有文件。因此,例如,我有 4 个 5kb XML 得到处理,但在输出端我最终得到 4 个 20kb 文件。任何帮助都是极好的!
Write-Log -Line "Files backed up. Editing..."
(Get-Content -path '***\*.xml' -Raw) -Replace "DELETED", "DELISTED" | Set-Content -path 'c:\import\failed\*.xml'
Write-Log -Line "$QuarCount files edited. Reprocessing quarantine files..."
Get-ChildItem -path 'c:\import\failed\*.xml' | rename-item -NewName {$_.name -replace ".xml","repro.xml"}
move-item -path C:\Import\failed\*.xml -destination C:\Import\```
解决方案
Get-Content -path '***\*.xml'
立即为您提供当前路径及其子目录中所有 xml 文件的内容。
您想要一个一个地遍历文件:
Get-ChildItem -path '*.xml' -recurse |
ForEach-Object {
$f = $_
(Get-Content -path $f.FullName -Raw) -Replace "DELETED", "DELISTED" |
Set-Content -path "c:\import\failed\$($f.Name).xml"
}
推荐阅读
- javascript - 是否可以在不改变其功能的情况下禁用 onclick?
- javascript - Angular 6 正确初始化自定义输入组件
- java - 使用扫描仪从两个文件中添加值不起作用
- perl - 如果“条件”,“做某事”的语法
- sql - SQL 查询,使用 MAX() 而不是 TOP
- java - 通过数据数据库实现搜索字段
- python - 熊猫在一周内每一刻钟获得最小值,最大值,平均值
- node.js - 如何在mongoDB中找到匹配特定数据的函数
- html - 每当我在 HTML 中将鼠标悬停在它们上方时,我希望我的块与另一个块重叠
- javascript - 无法从 node.js 中的函数内部更改目录