用BAT导出文件夹内所有文件名和修改时间,格式为EXCEL,不要完整路径怎么弄?

用BAT导出文件夹内所有文件名和修改时间,格式为EXCEL,不要完整路径怎么弄?,第1张

编码设为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%\MyFilesListTemp.csv"

popd

call :WriteXLSXFile

cls & echo 文件列表表格生成完毕,请在脚本同目腔闷录下查看“%Excel%”。

pause

exit

:WriteXLSXFile

(echo Set oExcel = CreateObject("Excel.Application"^)

echo oExcel.Workbooks.Open "%tmp%\MyFilesListTemp.csv"

echo oExcel.ActiveSheet.Columns("A:O"^).Select

echo oExcel.Selection.EntireColumn.AutoFit

echo oExcel.ActiveWorkbook.SaveAs "%~dp0%Excel%",51

echo oExcel.Quit)>"%tmp%\Csv2Xlsx.vbs"

del /f /q "%~dp0%Excel%" 2>nul

"%tmp%\Csv2Xlsx.vbs"

goto :eof

用bat命令雀携以当前日期为名字建庆闹立文件夹:

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

md %ymd%

copy /y E:\Anan\*.log E:\Anan\%ymd%\

第一句为建立一个变量,顷差伏并通过%date:~5,2%来组合得出当前日期,组合的效果为yyyymmdd,date命令得到的日期格式默认为yyyy-mm-dd(如果不是此格式可以通过pause命令来暂停命令行窗口看通过%date:~,20%得到的当前计算机日期格式),所以通过%date:~5,2%即可得到日期中的第五个字符开始的两个字符,例如今天为2009-02-05,通过%date:~5,2%则可以得到02。(日期的字符串的下标是从0开始的)

第二句为用MD命令 建立以变量Ymd为名的文件夹

第三句为复制指定的文件到指定的文件夹。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12227921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存