我有一个包含 3 列的 CSV 文件:名称、工作和目录。
我正在尝试让用户输入名称或作业,它将返回第 3 列(目录)的一行或多行输出
$Profile = $PSScriptRoot + "\Profile.csv"
$Data = Import-Csv -Path $Profile
$JobChoice = Read-Host "Enter a Backup option"
$Results = $Data | Where-Object {( $_.Name, $_.Job ) -eq [string]$JobChoice}
$Results | Select-Object -ExpandProperty ($_.Directory)
上面的例子如果我在提示时输入:“satisfactory”,它只会显示一个返回。但它显示了所有三列我只需要它来返回当前行目录。
另外,如果我输入“SaveGame”作为读取主机输入。它将返回该作业的所有游戏,但仅返回目录。我想保留此功能,因为它会根据我选择名称或工作来接受一个或多个游戏
我什至尝试了以下每种组合:
Select-Object -ExpandProperty ($_.Directory)
我的目标是将数据添加到 CSV 然后解析它并将它们发送到 xcopy 以批量复制返回的目录。
有什么帮助吗?
CSV:
Name,Job,Directory
Satisfactory,Savegame,C:\Users\jrkid\AppData\Local\FactoryGame\Saved\SaveGames
TheLongDark,Savegame,C:\Users\jrkid\AppData\Local\Hinterland
TheInfected,Savegame,C:\Users\jrkid\AppData\Local\TheInfected
WrenchGame,Savegame,C:\Users\jrkid\AppData\Local\WrenchGame
Valheim,Savegame,C:\Users\jrkid\AppData\LocalLow\IronGate
RisingWorld,Savegame,C:\Users\jrkid\AppData\LocalLow\JIW-Games
7DTD,Savegame,C:\Users\jrkid\AppData\Roaming\7DaysToDie