Powershell 复制项将2条语句合并为1条

Powershell 复制项将2条语句合并为1条,powershell,Powershell,如何将此命令放入powershell中的一条语句中 copy-item $temp\tst1.cms $orig copy-item $temp\tst2.cms $orig 如果名称不连续怎么办?像 oadmrwc.cms oadmrwn.cms 我正在尝试将批处理脚本转换为powershell脚本这套衣服怎么样 $orig = "c:\temp\" $items = "one.txt","two.txt", "three.txt","four.txt" $items | ForEach

如何将此命令放入powershell中的一条语句中

copy-item $temp\tst1.cms $orig
copy-item $temp\tst2.cms $orig
如果名称不连续怎么办?像

oadmrwc.cms
oadmrwn.cms

我正在尝试将批处理脚本转换为powershell脚本

这套衣服怎么样

$orig = "c:\temp\"
$items = "one.txt","two.txt", "three.txt","four.txt"

$items | ForEach-Object { Copy-Item $_ $orig}

您可以在$items数组中放入任意数量的项目,然后…

这套衣服怎么样

$orig = "c:\temp\"
$items = "one.txt","two.txt", "three.txt","four.txt"

$items | ForEach-Object { Copy-Item $_ $orig}

您可以在$items数组中放入任意数量的项,然后…

类似的操作应该会起作用(使用通配符blobbing和Get Childitem)

或:


类似的方法应该可以工作(使用通配符blobbing和Get Childitem)

或:


参数
-Path
-LiteralPath
是数组
[string[]]
。因此,我们可以在一个命令中指定多个项目:

copy-item $temp\tst1.cms, $temp\tst2.cms $orig

参数
-Path
-LiteralPath
是数组
[string[]]
。因此,我们可以在一个命令中指定多个项目:

copy-item $temp\tst1.cms, $temp\tst2.cms $orig

不幸的是,不是这样,因为文件是由进程动态生成的,所以它们不一定总是在那里,这会移动它们在数组中的位置。也不是所有文件都需要移动…+1 tho:)不幸的是,不需要移动,因为文件是由进程动态生成的,因此它们不一定总是在那里,这会移动它们在数组中的位置。也不是所有的文件都需要移动…+1 tho:)不是最优的,因为mjolinor的答案可能是最优的。但是再加上一个人你测量过吗?管道相对昂贵,没有管道的等效命令通常工作得更快。此外,此命令仅调用一个cmdlet,cmdlet也调用cost。对于
-Path
参数中的通配符,您也可以将其与
复制项
一起使用。但问题是“不连续”,所以我假设没有模式可以应用。无论如何,解决方案越多越好:)复制项上的帮助说明Path参数将接受字符串数组,但不接受通配符(因此gci)。那么帮助主题就不太正确了。MS cmdlet中的
Path
参数中的大多数(或全部?)接受通配符,而不管help怎么说。这不是最优的,因为mjolinor的答案可能是最优的。但是再加上一个人你测量过吗?管道相对昂贵,没有管道的等效命令通常工作得更快。此外,此命令仅调用一个cmdlet,cmdlet也调用cost。对于
-Path
参数中的通配符,您也可以将其与
复制项
一起使用。但问题是“不连续”,所以我假设没有模式可以应用。无论如何,解决方案越多越好:)复制项上的帮助说明Path参数将接受字符串数组,但不接受通配符(因此gci)。那么帮助主题就不太正确了。MS cmdlet中的
Path
参数中的大多数(或全部?)接受通配符,无论帮助说明如何。