Powershell 如何在$sourcePath中指定多个文件

Powershell 如何在$sourcePath中指定多个文件,powershell,Powershell,我正在尝试将多个文件本地复制到网络共享 我正在使用的方法 $sourcePath = "C:\folder\file.csv" 工作正常,但当我将添加文件添加到同一源路径时,它会失败,例如 $sourcePath = "C:\folder\file.csv, C:\folder\file2.csv" 我希望能够将sourcepath中指定的两个独立文件复制为数组。按以下方式将$sourcepath=C:\folder\file.csv、C:\folder\file2.csv定义为数组: $s

我正在尝试将多个文件本地复制到网络共享

我正在使用的方法

$sourcePath = "C:\folder\file.csv"
工作正常,但当我将添加文件添加到同一源路径时,它会失败,例如

$sourcePath = "C:\folder\file.csv, C:\folder\file2.csv"

我希望能够将sourcepath中指定的两个独立文件复制为数组。

按以下方式将
$sourcepath=C:\folder\file.csv、C:\folder\file2.csv定义为数组:

$sourcePath = "C:\folder\file.csv", "C:\folder\file2.csv"
之后,您可以通过以下方式进行复制:

$sourcePath | Foreach-Object { Copy-item $_ "C:\temp" -Verbose }

希望有帮助。

根据另一个答案,只需通过逗号分隔将路径声明为字符串数组即可。然后,您可以将它们作为输入提供给
-Path
参数(该参数接受字符串数组作为输入):

或者,您可以通过管道输入提供它们,并将它们发送到
-Path
参数:

'C:\folder\file.csv','C:\folder\file2.csv' | Copy-Item -Destination 'C:\Temp'

请编辑问题,并包括复制命令。我不太清楚你认为什么是“工作精细”。code>$sourcePath=C:\folder\file.csv
应尝试使用为csv文件注册的默认处理程序打开csv,而不是将路径分配给变量。如果要将路径字符串指定给变量,则需要将路径置于引号中。如果要为一个变量分配多个路径,则需要将每个路径用引号括起来,并用逗号分隔字符串。不,我了解这一部分,我已经用引号括起来了,但有人编辑了它??最初用引号括起来的是整个表达式,这可能以不同的方式错误,但仍然是错误的。您在更新问题的第二个片段中使用的引用不起作用b/c它定义了一个带逗号的字符串。您需要的是两个字符串,用逗号分隔(
“foo”,“bar”
,而不是
“foo,bar”
)。
'C:\folder\file.csv','C:\folder\file2.csv' | Copy-Item -Destination 'C:\Temp'