@echo off
setlocal
set Folder=C:\Test
set FileMask=*.txt
set OldestFile=
for /f "delims=" %%a in ('dir /b /o:d %Folder%\%FileMask%" 2^>NUL') do (
set OldestFile=%%a
goto Break
)
:Break
if "%OldestFile%"=="" (
echo No files found in '%Folder%' matching '%FileMask%'!
) else (
del "%Folder%\%OldestFile%"
)
嗨,我嘗試使用批處理文件刪除test目錄最早的文件,但我有或沒有管理員權限,其中「DIR/B/O運行它後得到一個錯誤:d「C \ Test」2> NUL'不被識別爲內部或外部命令,可操作程序或批處理文件。我想在Windows Server 2012 R2 x64位上運行它。請幫忙。謝謝。批處理命令錯誤
在'%folder%'之前的'dir'命令中缺少''''我也相信如果你想**最老的**,你需要'/ o:-d',添加'/ ad'來排除目錄名稱的可能性。 – Magoo
你好@Magoo,我試過在%folder%和/ ad之前加入,但仍然得到相同的錯誤。 – IamBayMax
如果'dir'不適合你,你可能做了一些事情來弄亂你的PATH變量。 – SomethingDark