批处理bat 获得指定目录内的文件夹名称

批处理bat 获得指定目录内的文件夹名称,第1张

1、在电脑中新建一个文本文档,双击打开该文档。

2、在页面中输入:@Echo off   dir /b>test.txt,在off位置开始切换到第二行。

3、选择文本文档的“文件”选项点击“另存为”,将新建文档改名为“复制文件名称.bat”。

4、即可生成批处理文件,并将其拖入需要提取文件名的文件夹中。

5、双击打开批处理程序,在文件夹中就会出现一个“test”的TXT文档。

6、打开后即可看到页面中已经将文件夹的名称提取出来了。

编码设为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

使用dir命令。

使用 O 排序参数,具体解释如下:

/O 用分类顺序列出文件。

排列顺序 N 按名称(字母顺序) S 按大小(从小到大)

E 按扩展名(字母顺序) D 按日期/时间(从先到后)

G 组目录优先 - 反转顺序的前缀

使用 S 参数,具体解释如下:

/S 显示指定目录和所有子目录中的文件。

举个粟子:

按修改时间排序,从旧到新

dir /s /od

按修改时间排序,从新到旧

dir /s /o-d


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存