我需要一个批处理文件递归地列出文件夹和他们的文件(与日期)到一个文本文件。我在网上找到了几个,就像这个
echo off
for /d %%a in (*.*) do dir "%%a" >> Report.txt但没有一个是我需要的简单格式。批处理文件将从顶部搜索目录运行。我想要找到顶部列出的搜索文件夹的完整路径,然后是文件夹和子文件夹的名称,即使它们是空的,没有路径,每个文件后面都有时间戳。所以,就像这样:
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 发布于 2013-02-17 12:04:51
此脚本允许将顶部文件夹指定为第一个参数。如果未提供,则使用当前目录作为顶层文件夹。
编辑以将输出重定向到文件
@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 /bhttps://stackoverflow.com/questions/14917348
复制相似问题