【问题标题】:Reading A File Name into a PowerShell Array将文件名读入 PowerShell 数组
【发布时间】:2014-03-09 17:54:25
【问题描述】:

在使用 Read-Host 时,我正在寻求一些帮助。这是我的问题,我希望用户输入完整的文件名“blah.txt”如何将整个文件名存储到数组的一个元素中?凭借我所拥有的,我不断得到每个字符而不是整个文本。

谢谢

【问题讨论】:

  • 你有什么,实际上?如果没有看到您的代码,我们将无法帮助您处理代码。

标签: arrays powershell filenames


【解决方案1】:

你是如何捕获数组的?以下是两个示例,说明如何将其拉入数组:

#Initialize the array first:
$array = @()
$array += Read-Host "Some Prompt"


#Alternatively, wrap results in array
$array = @(Read-Host "Some Prompt")

#Verify that the whole string is captured as an object in the array
$array[0]

这里是a good source on arrays from PowerShell.com。它特定于 PowerShell 版本 2,但适用于更高版本。

【讨论】:

  • 我正在尝试使用 $args 数组并用 Read-Host 填充它。所以$args = Read-Host "Enter Full File Name"
  • 因此,取决于您是要保留 args 中的内容,还是要添加到其中...与上面几乎相同,将 $array 替换为 $args。 $args = @(Read-Host "Some Prompt") #or $args += Read-Host "Some Prompt"... 正如 Adil 提到的 $args 是一个自动变量,恕我直言,您可能应该选择另一个变量名来使用- technet.microsoft.com/en-us/library/hh847768.aspx
  • 只是好奇,您知道 $args 是一个特殊变量(也称为自动变量),它在 PowerShell 中保存未分配的参数,同时选择它作为您的变量名?
  • 我希望继续前进,我可以使用 $args 来检查以确保用户出于错误检查原因一次输入更多文件名。
  • @Laitosto - 你应该考虑创建一个高级函数。 Example post from Jeff Hicks 使用 ValidateCount。另见About_Functions_AdvancedAbout_Functions_Advanced_ParametersAbout_Functions_CmdletBindingAttribute
猜你喜欢
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-16
相关资源
最近更新 更多