如何在PowerShell输出内容前添加自定义文本?
解决PowerShell文本与文件夹大小合并写入文件的问题
原代码问题分析
你当前的代码逻辑有误:Out-File的-FilePath参数是指定输出文件路径,而非要写入的内容,导致无法将文本和计算出的大小合并输出。
正确实现代码
先计算桌面文件夹的总大小,再将文本与格式化后的大小拼接成目标格式,最后追加写入文件:
# 计算桌面文件夹总大小(保留2位小数的GB单位) $desktopSize = "{0:N2} GB" -f ((Get-ChildItem C:\users\******\desktop -Recurse | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum / 1GB) # 拼接成目标格式的字符串 $outputContent = "This is the desktop Size ($desktopSize)" # 追加写入到指定文件 $outputContent | Add-Content -Path "c:\Program Files\*****_Inc\pc_info\folders.txt"
简化写法(一行完成)
如果想简化为单行命令,直接在格式化字符串中包含前缀文本即可:
"This is the desktop Size ({0:N2} GB)" -f ((Get-ChildItem C:\users\******\desktop -Recurse | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum / 1GB) | Add-Content -Path "c:\Program Files\*****_Inc\pc_info\folders.txt"
关键说明
Add-Content对应你原来的>>追加操作,若要覆盖文件内容,改用Set-Content或Out-File(不带-Append)。- 确保执行PowerShell的用户对目标文件路径
c:\Program Files\*****_Inc\pc_info\有写入权限,避免权限错误。
内容的提问来源于stack exchange,提问作者BatchKing70
相关产品推荐
相关产品推荐

