根据可用的最小系统修改日期移动文件

时间:2018-05-14 09:10:00

标签: batch-file

我想根据可用的最小系统修改日期移动

Name   date Modified 
file1  14/05/2018 11:21 AM
file2  14/05/2018 11:41 AM 

在这种情况下,我们希望将file1与最大系统修改日期区分开来。所有剩余的文件都必须移动

我试过下面的命令:

move /-y "C:\app\folder1*.txt" "C:\app\folder2\"

暂停

尝试了其他步骤

Get-ChildItem -Path "C:\app\folder1\" 
Sort-Object LastWriteTime -Descending 
Move-Destination t-Object -Skip 1 
Move-Item -Destination "C:\app\folder2\" | 

我再次尝试收到错误.... | C:\ app \ folder1> Move-Item -Destination“C:\ app \ folder2 \”

  

'Move-Item'不被识别为内部或外部命令,可操作程序或批处理文件。

感谢

1 个答案:

答案 0 :(得分:0)

我不知道您是否知道,但您尝试的另一个步骤是powershell.exe代码而不是cmd.exe

类似的东西可以满足您的需求:

@Echo Off
Set "dirSrc=C:\App\Folder1"
Set "dirDst=C:\App\Folder2"
Set "extSrc=*.txt"
If Exist "%dirSrc%\%extSrc%" (CD /D "%dirSrc%" 2>Nul || Exit /B
) Else Exit /B
If Not Exist "%dirDst%\" (MD "%dirDst%" 2>Nul || Exit /B)
For /F "Skip=1 Delims=" %%A In ('Dir /B/A-D-H-L-S/O-D/TW "%extSrc%"'
) Do Move /Y "%%A" "%dirDst%">Nul 2>&1

在运行之前,您需要确保行23中指定的目录是正确的,并且行4中的文件掩码是正确的。