我正在使用RAW文本文件,我需要拆分并创建一个数组。RAW文本文件基于参数生成。$列表从另一个程序发送。我的PS代码:
param($list)
$path="C:\BU\test\"
New-Item $path\test.txt
Set-Content $path\test.txt "$list" --> Output RAW data Eg:(Apple Orange Kiwi)
$list2=get-Content C:\BU\test\test.txt
$cd=$list.Replace(' ',', ')
New-Item $path\cd.txt
Set-Content $path\cd.txt "$cd"
$cd=get-Content C:\BU\test\cd.txt Output CD Data (Apple, Orange, Kiwi)
我假设如果我使用write-host调用$cd[0],输出应该是Apple,但当我调用$cd[0]时,只得到A。我错过了什么?谢谢您的建议。
1条答案
按热度按时间js81xvg61#
看起来您最终尝试使用
-split
操作符来完成此操作:至于你所尝试的:
Get-Content
* 逐行 * 读取文件。Apple, Orange, Kiwi
$cd=get-Content C:\BU\test\cd.txt
将该行存储为变量$cd
中的 * string *,而 * not * 存储为包含该行作为其(唯一)元素的 * array *。Get-Content
* 总是 * 返回一个 * 数组 *,可以使用数组子表达式运算符@(...)
:[array]
* 类型约束 * 接收变量有关详细信息,请参见this answer。