批处理文件,用于删除子文件夹集中的最旧文件

时间:2014-01-27 07:06:58

标签: batch-file

我一直在尝试修改浴室文件,如下面的链接中搜索一组子文件夹中最旧的文件并将其删除。

Batch script to move oldest file from one folder to other

@echo off
cd c:\Test
for /F "delims=" %%a in ('dir /B /A:-D /O:D /T:W') do (
   move "%%a" C:\Another\Location
   goto continue
)
:continue

任何人都可以帮忙吗?

进一步的信息。

2 个答案:

答案 0 :(得分:0)

@echo off
cd c:\Test
for /F "delims=" %%a in ('dir /S /B /A:-D /O:D /T:W') do (
   del /Q /F "%%~dpfna"
   goto continue
)
:continue

答案 1 :(得分:0)

有一些混乱 - 你想移动文件还是删除它?

如果要移动文件,则需要

move "%%a" "C:\Another\Location\%%a"

提供 destinaton目录。

move "%%a" C:\Another\Location\

move "%%a" C:\Another\Location

如果>目录c:Another\Location存在,会执行相同的操作。

如果MOVE不存在,c:\another将失败,如果目录c:Another\Location存在但文件c:Another不存在,则会将文件移至名为c:Another\Location的文件1}}。

可能最安全的是

md "C:\another\location" 2>nul
move "%%a" "C:\Another\Location\%%a"

其中md命令将创建目录(在delete oldest file脚本中无法理解这一点。2>nul会抑制错误消息(例如'目录已存在')