我尝试使用以下类型的命令从文件夹(.exe文件)复制最新文件:
Get-ChildItem "K:\" -File -include "*.exe" | Where-Object { $_. $_.LastWriteTime like "I don't know which parameter I should type here} Copy-Item -Path $files -Destination "C:\"
我不想将复杂的脚本与变量等一起使用(现在)
这是我的文件夹结构:
等等。基本上每天都有一个新的构建部署在文件夹中,从我将文件复制到我的机器(远程)。
我需要创建一个脚本来复制最新的版本,但我想用“NoDB.exe”参数排除所有文件。
答案 0 :(得分:1)
不确定它是否是最快的方式(可能不是)。但是,如果你没有爬过庞大的文件系统
Copy-Item -Path (Get-ChildItem "K:\" -File -include "*.exe" |
Where Name -NotMatch '.*NoDB\.exe$' | Sort-Object -Descending
LastWriteTime | Select-Object -First 1) -Destination "C:\"
应该做的伎俩。 (我的第一个答案似乎是错的;)) 我完全错过了排除条件所以现在包括Martin Brandl Addition ^^
答案 1 :(得分:1)
除了answer from whatever之外,您还可以添加Where
条件并跳过NoDB
个文件:
Get-ChildItem "K:\" -Filter '*.exe' |
Where Name -NotMatch '.*NoDB\.exe$' |
sort LastWriteTime -Descending |
select -first 1 |
Copy-Item -Destination 'C:\'