|
|
【需求背景】
在 Windows 环境下,需要从多个源目录中,只复制“修改时间排第二新”的文件到目标目录。
目前的问题是:在CMD窗口可以运行, 当是作成bat之后运行没有效果。
处理逻辑:
- 按文件的“最后修改时间”排序(倒序)
- 只选取“第二新”的那个文件
- 复制该文件到目标目录
powershell -NoProfile -Command "$src=@('D:\DataCollect\data\【M001】','D:\DataCollect\data\【M002】','D:\DataCollect\data\【M003】','D:\DataCollect\data\【M004】','D:\DataCollect\data\【M005】','D:\DataCollect\data\【M006】','D:\DataCollect\data\【M007】','D:\DataCollect\data\【M008】','D:\DataCollect\data\【M009】','D:\DataCollect\data\【M010】','D:\DataCollect\data\【M011】','D:\DataCollect\data\【M012】','D:\DataCollect\data\【M013】','D:\DataCollect\data\【M014】','D:\DataCollect\data\【M015】','D:\DataCollect\data\【M016】','D:\DataCollect\data\【M017】','D:\DataCollect\data\【M018】','D:\DataCollect\data\【M019】','D:\DataCollect\data\【M020】'); foreach($s in $src){ Get-ChildItem $s -Filter *.csv -File | Sort-Object LastWriteTime -Descending | Select-Object -Skip 1 -First 1 | Copy-Item -Destination 'X:\' -Force }" |
|