【发布时间】:2021-12-14 04:39:12
【问题描述】:
所以我正在尝试解决一个问题,但我不知道这是否是解决问题的方法。
基本上我的文件夹结构如下:
\---folder
\---subfolder1
+---subsub1
| +---subsubsub1
\---subsub2
\---subsubsub2
我希望它在 excel 中看起来像这样: link to excel screenshot
我知道 Powershell 或命令提示符中的 tree 命令会提供上述文本输出,这就是我得到它的方式。我现在正在尝试格式化命令的输出,使其包含空格和制表符,而不是它所具有的 +、's、|'s 和 -'s。然后我可以将其导入到 excel 中以获取我在该屏幕截图中寻找的输出
在我的 PS 脚本中,我目前可以将 - 替换为空格,但 +、\ 和 |符号变成了不容易被替换的特殊字符。
我想要完成的事情可能可以通过更简单的方式来完成,如果是这样,我愿意接受想法,但这是我一直在尝试解决的方法。
这是我目前所拥有的 Powershell 代码:
$filename = "test.txt"
tree /a > $filename
get-content $filename | %{$_ -replace "-"," "}
get-content $filename | %{$_ -replace [RegEx]::Escape('< SharedPassKey=123456789abcdefghi/JKLM+nopqrst= />'),'< SharedPassKey=123456789abcdefghi/JKLM.nopqrst= />'}
到目前为止我遇到的一些事情:
【问题讨论】:
-
在 Excel 中,用空格和制表符替换不会得到不同单元格上的元素。
-
你可以试试
tree /a | % {$_ -ireplace '[\\+| ][ -]{3}', "``t"} | out-file $env:USERPROFILE\desktop\test.csv(替换部分应该只有1个`,但是markdown给我带来了问题)
标签: windows powershell replace special-characters