需要你的帮助我需要创建一个批处理文件(命令提示符)来 ⁃ 显示文件夹和子文件夹的列表 ⁃ 其中是 exe 文件 ⁃仅显示2个最新的exe文件 ⁃显示特定文件夹不是全部
并将信息导出到 txt 文件中
如果有帮助,我正在使用XP
更新
我有以下命令
第一个按最新文件工作和订购,但没有给我时间和日期
第二个显示时间和日期,但不按最近
排序@ECHO OFF
setlocal EnableDelayedExpansion
set j=0
Echo Test
echo
FOR /f "delims=" %%i IN ('dir C:test /o-n-d /b') DO (
echo %%i
set /A j=j+1
if !j! geq 2 (
goto :end1
)
)
:end1
@ECHO OFF
setlocal EnableDelayedExpansion
set j=0
echo
Echo Test
echo
FOR /f "delims=" %%i IN ('forfiles /p C:testmove /s /m *.* /C "cmd /c echo @file @fdate @ftime" ') DO (
echo %%i
set /A j=j+1
if !j! geq 2 (
goto :end2
)
)
:end2
pause
@ECHO OFF
SETLOCAL enabledelayedexpansion
SET "sourcedir=U:sourcedir"
SET "lastdir="
(
FOR /f "delims=" %%a IN (
'dir /s /b /a-d "%sourcedir%*.exe" '
) DO (
IF "%%~dpa" neq "!lastdir!" (
SET "lastdir=%%~dpa"
SET /a count=0
FOR /f "delims=" %%i IN ('dir /s /b /a-d /o:d "%%~dpa*.exe"') DO IF !count! lss 2 (
SET /a count+=1
ECHO %%~ti %%~fi
)
)
)
)>newfile.txt
GOTO :EOF
生成新文件.txt。您需要在 sourcedir
中设置所需的目录名称。我将数据显示为日期/时间全文件名,因为全文件名的长度是可变的,而日期和时间是固定的。如果您向我们展示您期望的格式可能会更容易 - 节省猜测和修订。
要显示最近修改的两个文件,请将.../b /a-d /o:d "%%~...
更改为.../b /a-d /o:-d "%%~...
(注意o:
和d
之间的-
)
使用 Robocopy 显示当前文件夹树
中两个最新修改的.exe
文件它还显示两个文件的 UTC 日期和时间。
@echo off
setlocal enabledelayedexpansion
set "folder=%cd%"
set c=0
for /f "tokens=1,2,*" %%a in (
'robocopy "%folder%" "%folder%" "*.exe" /s /is /nocopy /nc /ns /ts /fp /np /ndl /njh /njs /xjd /r:0 /w:0 /l ^| sort /r '
) do echo "%%a %%b" - "%%c" & set /a c+=1 & if !c! EQU 2 goto :done
:done
pause