第一个脚本从目录的用户那里获取输入:例如:D:\Test1 D:\Test2
$Dir1=Read-Host -Prompt "Enter first location" |Out-file -FilePath .\directories.csv -Append
$Dir2=Read-Host -Prompt "Enter 2nd location (or leave blank)" |Out-file -FilePath .\directories.csv -Append
在第二个脚本中,我有:
$Dir=Import-Csv 'D:\directories.csv'
$Dir[0]
但它不能正确打印出来(打印所有目录而不仅仅是一个)我需要将每个目录分配给不同的变量
PS Total 初学者在这里所以请简单解释一下
更新的答案
根据评论,作者想要实现的是以字符串格式获取所选目录,并且由于他们选择的功能,目录最终以表格格式结束,从而使问题复杂化。这里有两个脚本
FolderBrowserDialog
并将它们保存到文本文件中。脚本 1
脚本 2
旧答案
Import-Csv 假设您的 csv 文件的第一行是标题,因此在这种情况下
D:\Test1
假定为标题。由于您的文件缺少标题,您可以手动输入标题以避免该问题。$Dir=Import-Csv 'D:\directories.csv' -Header "DummyHeader"
现在
$Dir[0]
将正确打印出来(标题将始终显示在此处)。这是我的看法:
提示循环中的路径并在数组中收集,直到没有条目:
将除空字符串之外的所有元素保存到文本文件中:
每行有一个元素且没有标题行,不需要 .csv
用于
Get-Content
将文件作为路径数组检索然后,您可以获得路径计数并单独访问,如下所示:
例子:
编辑:
此代码使用
BrowseForFolder
方法: