powershell使用管道执行多个操作
我的脚本查找folder1中的所有文件,并检查folder2中是否存在此文件。如果它存在,那么我想从folder2中删除该文件,并将该文件从Folder1移动到folder3powershell使用管道执行多个操作,powershell,pipe,operation,Powershell,Pipe,Operation,我的脚本查找folder1中的所有文件,并检查folder2中是否存在此文件。如果它存在,那么我想从folder2中删除该文件,并将该文件从Folder1移动到folder3 $folder1 = "D:\folder1" $folder2= "D:\folder2" $folder3 = "D:\folder3" $a = Get-ChildItem $folder1 | select -ExpandProperty basename $a | foreach { Get-
$folder1 = "D:\folder1"
$folder2= "D:\folder2"
$folder3 = "D:\folder3"
$a = Get-ChildItem $folder1 | select -ExpandProperty basename
$a | foreach {
Get-ChildItem -Path $folder2 -filter *$_* -Recurse
}
现在,如果我在每个循环的末尾使用管道,我可以删除或移动,但不能同时删除或移动。如何处理这种情况?既不
移动项目
也不删除项目
向管道输出任何内容。但是,两者都有一个-PassThru
开关参数以允许进一步处理。既不移动项目
也不删除项目
向管道输出任何内容。但是,两者都有一个-PassThru
开关参数以允许进一步处理。这将完成以下工作:
$A | foreach { Get-ChildItem -Path $folder2 -filter $_ -Recurse} | foreach {Remove-Item $_.FullName; Copy-Item $folder1\$_.BaseName $Folder3}
这将完成以下工作:
$A | foreach { Get-ChildItem -Path $folder2 -filter $_ -Recurse} | foreach {Remove-Item $_.FullName; Copy-Item $folder1\$_.BaseName $Folder3}
您可以在脚本块中使用分号来执行多个命令,因此类似这样的操作应该可以起作用:$a | foreach{Get ChildItem-Path$folder2-filter*$\u*-Recurse}foreach{Remove Item$\ FullName;Copy Item$folder1\$\ ubasename$Folder3}谢谢。这就是我一直在寻找的答案。你能把这个作为答案吗?别担心,我已经把答案贴在下面了,如果你投赞成票,或者选择它作为正确答案,如果它解决了你的问题,我将不胜感激。感谢您可以在脚本块中使用分号来执行多个命令,因此类似的方法应该可以工作:$a | foreach{Get ChildItem-Path$folder2-filter*$\u*-Recurse}foreach{Remove Item$\ FullName;Copy Item$folder1\$\ BaseName$Folder3}谢谢。这就是我一直在寻找的答案。你能把这个作为答案吗?别担心,我已经把答案贴在下面了,如果你投赞成票,或者选择它作为正确答案,如果它解决了你的问题,我将不胜感激。谢谢