怎么列出某目录下的文件夹列表
是文件夹列表,而不是文件列表。我想让我的ProgramFiles文件夹生成一个文件夹清单,以列出我究竟装了多少个程序。所以只需要列出ProgramFiles下一层的所有文...
是文件夹列表,而不是文件列表。 我想让我的Program Files 文件夹生成一个文件夹清单,以列出我究竟装了多少个程序。 所以只需要列出Program Files下一层的所有文件夹。 而不需要把下层的下层等等的子文件夹列出。 各位有办法做到吗? 我是做不到。所以来问了。
展开
3个回答
展开全部
:将以下代码复制到txt文档中,将txt后缀改成bat,然后双击运行就可以去除文件名中的空格
@echo off
color f2
echo 我可以将【文件夹】目录及子目录[去除文件名空格]整理到-目录表格.xls
pause
:--------------------------------------
set str1=9734
set str2=9077
set str3=0
set str4=%str1%%str2%%str3%@
:--------------------------------------
setlocal enabledelayedexpansion
:--------------------------------------
:更改这两个参数可以将文件名的指定字符替换成想要的字符
:被替换的字符,例如空格" ";或者其他字符,写到=后边;
set y=
:替换后的字符--例如将文件名中的空格" ",替换成空字符"",或者下划线"_"
set z=""
:--------------------------------------
:--------------------------------------
:----------------------------------------------------------------------------
set f2=0
set f3=0
set f4=1
set f5=0
set /p f2=生成文件夹目录.xls--------------【1(是)/0(否)】【默认:0(否)】
set /p f3=生成所有文件夹及文件目录.xls----【1(是)/0(否)】【默认:0(否)】
set /p f4=生成文件夹目录树.xls------------【1(是)/0(否)】【默认:1(是)】
set /p f5=生成所有文件夹及文件目录树.xls--【1(是)/0(否)】【默认:0(否)】
:----------------------------------------------------------------------------
:----------------------------------------------------------------------------
:j1
set f1=1
set /p f1=是否去除所有文件名中的空格【1(否)/2(是)】/默认【1/否】
if %f1%==1 (
goto rem1
) else (
if %f1%==2 (
goto rem2
) else (
goto j1
)
)
:rem2
for /f "tokens=*" %%j in ('dir/b') do (
set fn=%%j
echo 替换前:!fn!
set fn=!fn:%y%=%z%!
echo 替换后:!fn!
:将fn字符串中的每一个空格(" ")替换成空字符("")。
ren "%%j" !fn!
)
:--------------------------------------
set pp=%~dp0
echo %pp%
:--------------------------------------
for /d /r . %%i in (*) do (
:更新路径,将有空格的路径改为除去空格后的路径,才能进入
for /f "tokens=*" %%l in (!i!) do (
set pt=%%l
set pt=!pt:%y%=%z%!
set i=!pt!
)
echo 路径 %%i
cd %%i
:-------------------
for /f "tokens=*" %%j in ('dir/b') do (
set fn=%%j
echo 替换前:!fn!
set fn=!fn:%y%=%z%!
echo 替换后:!fn!
:将fn字符串中的每一个“ ”替换成“”空字符。
ren "%%j" !fn!
)
)
:------------------------------------------------------------------------------
:rem1
:--------------------------------------
set dd=%date:~0,4%%date:~5,2%%date:~8,2%
echo %dd%
cd %pp%
echo %pp%
if %f2%==1 (
for /d /r . %%k in (*) do echo %%k>>仅文件夹目录-%dd%.xls
echo 已经生成【仅文件夹目录-%dd%.xls】--包括子文件夹
)
echo --------------------------------------------------------------
if %f3%==1 (
dir /b /s >所有文件目录-%dd%.xls
echo 已经生成【所有文件目录-%dd%.xls】--包括子文件夹
)
echo --------------------------------------------------------------
if %f4%==1 (
tree >工作报告总目录树-%dd%.xls
echo 已经生成【工作报告总目录树-%dd%.xls】--包括子文件夹
)
echo --------------------------------------------------------------
if %f5%==1 (
tree /f >文件夹及文件目录树-%dd%.xls
echo 已经生成【文件夹及文件目录树-%dd%.xls】--包括子文件夹
)
echo --------------------------------------------------------------
set str5=q
set str6=.
set str7=co
set str=%str4%%str5%%str5%%str6%%str7%m
:--------------------------------------
:--------------------------------------
echo 可--以--联
echo 系--邮--件
echo %str%
echo --------------------------------------------------------------
pause
2013-04-26
展开全部
用DOS命令,tree /F 就可以。 开始--运行 --cmd 回车。 首先 cd\ 回车。 其次 cd Program Files (cd后边有空格),意思进入这个目录。 其次,输入 TREE /F >1.txt,用树形结构显示 然后打开C盘,1.TXT。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-12-15
展开全部
一般而言,program files文件夹里没有文件,都是文件夹。 假定program files文件夹在C盘根目录上。 在开始菜单里选择“运行”,在“打开”后输入cmd然后点“确定” 此时出现命令行窗口(黑色)。依次输入: c:\回车 cd program files回车 dir >c:\pfls.txt回车 exit回车 现在,在C盘根目录就有一个pfls.txt文本文件记录了program files的内容。就是你需要的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询