@Echo off
:: +-----------------------------------------------+ ::
:: | BAT-GO团员wkdxz At:2010-08-21 13:58:43 | ::
:: +-----------------------------------------------+ ::
setlocal enabledelayedexpansion&pushd %~dp0
(for %%b in ("D:\My Documents\01" "D:\My Documents\02" "D:\My Documents\03" "D:\My Documents\04") do for /f "delims=" %%a in ('dir /s/b/a-d "%%~b\a" 2^>nul') do (
set xz=%%~ta
echo %%~nxa,%%~dpa,!xz:~,10!))>xzcsv
set /p choise=是否要立刻打开列表文件(y/n)[y]:
if /i "%choise%"==n (exit /b) else start "" xzcsv
使用dir命令。
使用 O 排序参数,具体解释如下:
/O 用分类顺序列出文件。
排列顺序 N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 反转顺序的前缀
使用 S 参数,具体解释如下:
/S 显示指定目录和所有子目录中的文件。
举个粟子:
按修改时间排序,从旧到新
dir /s /od
按修改时间排序,从新到旧
dir /s /o-d
编码设为ANSI后保存脚本
@echo off & title 获取文件名,修改时间,并记录到表格中 By 依梦琴瑶cd /d "%~dp0"
::设置要处理的文件夹
set SrcDir=D:\MyFolder
::设置要处理的文件格式,全部格式请直接用
set Ext=
::设置是否包含子目录,是=1,否=其它任何非1的字符
set Sub=0
::保存的表格文件名
set Excel=文件列表表格xlsx
if "%Sub%"=="1" set "S=/s"
pushd "%SrcDir%"
echo 正在获取中,请耐心等待。。。
(echo "文件名","修改时间"
for /f "delims=" %%a in ('dir /a-d%S%/b/tw %Ext% 2^>nul') do (
echo "%%~nxa","%%~ta"
))>"%tmp%\MyFilesListTempcsv"
popd
call :WriteXLSXFile
cls & echo 文件列表表格生成完毕,请在脚本同目录下查看“%Excel%”。
pause
exit
:WriteXLSXFile
(echo Set oExcel = CreateObject("ExcelApplication"^)
echo oExcelWorkbooksOpen "%tmp%\MyFilesListTempcsv"
echo oExcelActiveSheetColumns("A:O"^)Select
echo oExcelSelectionEntireColumnAutoFit
echo oExcelActiveWorkbookSaveAs "%~dp0%Excel%",51
echo oExcelQuit)>"%tmp%\Csv2Xlsxvbs"
del /f /q "%~dp0%Excel%" 2>nul
"%tmp%\Csv2Xlsxvbs"
goto :eof
以上就是关于高分求助-用bat命令获取文件名、文件路径、修改日期并列表全部的内容,包括:高分求助-用bat命令获取文件名、文件路径、修改日期并列表、bat 怎么读取文件夹下的所有文件名(没有嵌套),然后将其排序,获取第一项的文件名、用BAT导出文件夹内所有文件名和修改时间,格式为EXCEL,不要完整路径怎么弄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)