我想将文件移动到archive
文件夹,但文件中修改的系统日期中的最大时间戳除外,并希望对folder 3
这样的四个不同文件夹执行此操作将转到{{1 }和folder4
到folder 5
即folder 6
:folder
系统日期已修改file1
,12:00 AM
已file 2
,然后{{} 1}}将以这种方式存档它必须存档小于最新修改日期的所有剩余文件。
我希望在Windows cmd提示符
中使用它Get-ChildItem -Path" C:\ app \ folder1 \" Sort-Object LastWriteTime -Descending 移动目的地t-Object -Skip 1 Move-Item -Destination" C:\ app \ folder2 \" |
修改
我希望修改我last question中提供的已接受答案。
我们的想法是在每个目录中运行脚本,而不只是在12:21 AM
行file 1
上运行脚本
这是代码:
Set
我希望使用的目录树看起来与此类似:
2
答案 0 :(得分:0)
在您在上一个问题中接受我的答案后进行了多次交流,我已更新您的问题以包括最新确认的要求并修改我的上一个答案:
@Echo Off
Set "dirSrc=C:\Users\garang\Documents\input_files"
Set "dirDst=Archive"
Set "extSrc=*.xls"
CD /D "%dirSrc%" 2>Nul || Exit /B
For /D %%A In (*) Do (PushD "%%A"
For /F "Skip=1 Delims=" %%B In (
'Dir /B/A-D-H-L-S/O-D/TW "%extSrc%" 2^>Nul') Do (
If Not Exist "%dirDst%\" MD "%dirDst%"
Move /Y "%%B" "%dirDst%">Nul 2>&1)
PopD)
将此脚本 movefiles.cmd
放入源目录(行Set
上的2
), C:\Users\garang\Documents\input_files
并双击它。
此脚本不假设存档目录已存在,如果不存在,则会创建它们。