请提供一些帮助,我有一个文本文件,其中包含以下值config.txt
[路径] 源路径="y:\企业\团队\输入" TempPath="y:\enterprise\team\temp" DestPath="y:\enterprise\team\Output">
我想有一个脚本,它可以从配置文件中读取,并将任何文件从一个目标移动到下一个目标
copy-item 'sourcepath' destination = temppath
Powershell的新手,所以任何帮助都会很棒!
使用 PowerShell 处理任何 INI 文件
您可以使用此功能。
function Get-IniContent ($filePath)
{
$ini = @{}
switch -regex -file $FilePath
{
“^[(.+)]” # Section
{
$section = $matches[1]
$ini[$section] = @{}
$CommentCount = 0
}
“^(;.*)$” # Comment
{
$value = $matches[1]
$CommentCount = $CommentCount + 1
$name = “Comment” + $CommentCount
$ini[$section][$name] = $value
}
“(.+?)s*=(.*)” # Key
{
$name,$value = $matches[1..2]
$ini[$section][$name] = $value
}
}
return $ini
}
若要将信息拉入 PowerShell,需要导入数据。 对于纯文本文件,获取内容是典型的方法。 如另一个答案中所述,文本文件采用 INI 格式,因此您需要对其进行操作才能使其在您的脚本中可用。
一个问题是,您是否将 config.txt 文件用于其他目的? 如果它仅适用于这一个脚本,那么我建议只在主脚本中将三个路径声明为变量。
如果它用于其他系统并且需要保持该格式,则需要弄清楚如何解析每一行。Get-Content会将其作为数组拉入,以便您可以浏览每一行。
如果它用于其他系统并且您可以更改格式,我建议切换到 CSV,每列都是不同的路径名。 然后,如果您使用导入CSV,则可以执行$variable。源路径,$variable。TempPath和$variable。目的地路径。