Powershell 读取文件名的主机列表,然后将输入导出到csv文件
我试图做一个简单的读取主机,并将用户输入导出到csv文件Powershell 读取文件名的主机列表,然后将输入导出到csv文件,powershell,export-csv,read-host,Powershell,Export Csv,Read Host,我试图做一个简单的读取主机,并将用户输入导出到csv文件 $List = Read-Host -Prompt 'Enter List of files (exclude file extention)'| Export-Csv "c:\user.csv" -NoTypeInformation 我在文件中得到的是: "length" "42" 我想我需要声明一个自定义对象,但我想要的是: 用户输入: filename1 filenam
$List = Read-Host -Prompt 'Enter List of files (exclude file extention)'|
Export-Csv "c:\user.csv" -NoTypeInformation
我在文件中得到的是:
"length"
"42"
我想我需要声明一个自定义对象,但我想要的是:
用户输入:
filename1
filename2
导出csv C:\list.csv
应具有:
filename1
filename2
谢谢 您提到使用了
PSCustomObject
,那么为什么不使用它呢
$R_Input = Read-Host -Prompt "Exclude extension! `nEnter File Name"
$R_Input = $R_Input -split ","
[PSCustomObject]@{
"First File Name" = $R_Input[0]
"Second File Name" = $R_Input[1]
} | Export-Csv -Path "c:\user.csv" -NoTypeInformation -Force -Append
<#Input
Exclude extension!
Enter File Name: Path Number One, Path Number two
#>
<#OutPut
PS C:\WINDOWS\system32> Import-Csv c:\user.csv
First File Name Second File Name
--------------- ----------------
Name Number One Name Number two
#>
您的预期输出看起来更像一个文本文件,而不是csv。用户应该如何输入不同的文件名?被什么分隔?(逗号、分号、空格?您的预期用途是什么?输入的文件名是否存在?如果用户输入空字符串或类似“诸如此类”的内容,该怎么办。这样可以吗?问题是,我不确定用户将输入多少行。@Harry123,请参见编辑。他的代码很好,您复制粘贴错误。我可以想象您得到该错误的唯一方法是,如果您在不向其传递任何对象的情况下导出Csv…@Harry123@Santi,谢谢再次确认!我有没有想过打错了,对不起,我让它工作了。@abraham,我真的很感激!!!!!!
$R_Input = Read-Host -Prompt "Exclude extension! `nEnter File Name"
$R_Input = $R_Input.Trim() -split ","
for ($i=0; $i -lt $R_Input.Count; $i++) {
[PSCustomObject]@{
"File Name" = $R_Input[$i]
} | Export-Csv -Path "c:\user.csv" -NoTypeInformation -Force -Append
}