首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以简单格式列出文件和文件夹的批处理文件

以简单格式列出文件和文件夹的批处理文件
EN

Stack Overflow用户
提问于 2013-02-17 10:18:20
回答 1查看 13.1K关注 0票数 0

我需要一个批处理文件递归地列出文件夹和他们的文件(与日期)到一个文本文件。我在网上找到了几个,就像这个

代码语言:javascript
复制
echo off
for /d %%a in (*.*) do dir "%%a" >> Report.txt

但没有一个是我需要的简单格式。批处理文件将从顶部搜索目录运行。我想要找到顶部列出的搜索文件夹的完整路径,然后是文件夹和子文件夹的名称,即使它们是空的,没有路径,每个文件后面都有时间戳。所以,就像这样:

代码语言:javascript
复制
FullPathToTopFolder 
    FolderName1
        DateStamp   FileName1.txt      
        DateStamp   FileName2.txt      
        DateStamp   FileName3.txt      
    FolderName2
        DateStamp   FileName4.txt      
        DateStamp   FileName5.txt       
    FolderName3
        DateStamp   FileName6.txt      
    FolderName3
        /SubFolderName1
            DateStamp   FileName7.txt      
            DateStamp   FileName8.txt      
    FolderName4 
        /SubFolderName2
        /SubFolderName3
        /SubFolderName4
            DateStamp   FileName9.txt      
            DateStamp   FileName10.txt  
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-17 12:04:51

此脚本允许将顶部文件夹指定为第一个参数。如果未提供,则使用当前目录作为顶层文件夹。

编辑以将输出重定向到文件

代码语言:javascript
复制
@echo off
setlocal disableDelayedExpansion
pushd %1
set "tab=    "
set "indent="
call :run >report.txt
exit /b

:run
for %%F in (.) do echo %%~fF

:listFolder
setlocal
set "indent=%indent%%tab%"
for %%F in (*) do echo %indent%%%~tF   %%F
for /d %%F in (*) do (
  echo %indent%.\%%F
  pushd "%%F"
  call :listFolder
  popd
)
exit /b
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14917348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档