powershell - 编写摘要日志并从脚本中捕获错误
问题描述
我是 powershell 新手,想输入以下脚本。我的目标是基本上输出运行复制项时发现的任何错误,例如,如果找不到文件,我想将其添加到日志中,如果找到则将其添加到日志中。到目前为止,我已成功添加找到的项目,但所有错误均未写入日志文件。最后,我还想获得成功移动的项目总数,但无论我将“foreach-object {$I++}”放在哪里,我都会得到 0 或 1
对此的任何帮助将不胜感激。谢谢!
$CSVFile = "~\Desktop\Report.csv"
$LogFile = New-item -ItemType file -Path "~\Desktop\Output.log"
$FolderA = "~\Desktop\Test1"
$FolderB = New-Item -ItemType directory -Path "~\Desktop\Test2"
$CSVColumn = "Objects"
$I = 0
Import-Csv $CSVFile | ForEach-Object {
Try {Copy-Item "$FolderA\$($_.$CSVColumn)" -ErrorAction SilentlyContinue $FolderB}
Catch {
Add-Content -Path $LogFile -Value "ERROR moving $_."}
Finally {
Add-Content -Path $LogFile -Value "File $($_.$CSVColumn) Photos has been sucessfully copied to Destination"}
}
ForEach-Object {$I++}
Add-Content -Path $LogFile -Value "Total Items Moved: $I"
Write-Host "Script Completed, See Log for Details."
解决方案
推荐阅读
- java - 这个priorityQueue的时间复杂度是多少
- linux - 更改 linux 进程调度程序
- javascript - 反应父组件状态更新但子不重新渲染
- javascript - Webpack 5 多个 javascript 文件在生产模式下生成 0 字节包
- c# - String.Format(new CultureInfo("el-GR"), "{0:#,,0.00}", value) 如果 value=NaN 则将输出更改为 0
- java - Netbeans 无法识别来自 geotools 的 org 包
- xamarin.forms - 如何创建可隐藏的底视图
- csv - Julia 中的方法错误:认为 CSV 是布尔值,不会转换为字符串
- java - 加载完成后如何将数据加载到 ArrayList 中
- php - DocuSign 错误 HTTPS_REQUIRED_FOR_CONNECT_LISTENER