一键列出文件目录

由于工作原因,不同的领导总是有不同的要求的,我不想单独建系统,所以在32位和64位程序混装的路上又跌倒了。但是还是不想装系统。所有开始计划备份电脑,由于没有网络,无法整理文件到百度云,或者是owncloud上,所以本地想了个思路。
《一键列出文件目录》

1、删除c盘下所有用户配置文件。很明显这会导致很多软件可能无法载入。所以备份了一下用户配置文件,但是文件无法对比,也无法用md5完成所有校验,个人又比较没有章法,桌面等等很乱。
2、优化注册表,当然提前要备份。以个人惨痛教育,干注册表,大概率都是会导致软件无法启动。
3、移动桌面文件夹。
4、一键ghost,吧c盘备份。
完成以上,直接重装。
一开始我是这样做的,由于以前刚接触计算机的时候学的就是Dos系统,所以本能的就这样干了:
《一键列出文件目录》
其中有个小插曲,好久没用了,以为直接cd进去,后Ls -l,手动复制到excel就好。
结果忘记了,cd不加参数是不可以跨盘的,还有ls -l是centos系统的命令,我直接搞混了。当时没有网络,也无法百度,还搞的我挺郁闷以为盘丢了。
其中曲折就不说了,最后也成功的导出来了。为了方便我做了个bat。代码如下,复制以下代码另存为.bat即可.
《一键列出文件目录》

dir /s /n >list.txt

效果还不错哈,虽然没能加md5,不过简单快捷(貌似对齐之类的还是不够理想,可以再批处理一下,整理到excel)

2019/11/03  23:51    <DIR>          .
2019/11/03  23:51    <DIR>          ..
2018/04/13  21:45         1,024,000 13版有色尾矿定额交底.ppt
2019/04/08  22:52         4,305,600 20120813_BlockModellingManual_V81.pdf
2019/04/08  22:52         6,598,454 20120817_IntroductionToVulcanManual_v81.pdf
2019/04/08  22:52         4,132,513 20121121_GeologyTools_Manual_v82.pdf
2019/04/20  20:32           168,531 2013版有色金属工业矿山井巷工程预算定额说明.docx
2017/08/12  23:42        24,623,569 3DMine基础教程2016版带书签教程.PDF
2019/01/21  23:07        27,131,483 3DMine基础教程2017.pdf
2019/04/14  09:58           674,413 AQ+2054-2016+金属非金属矿山在用主通风机系统安全检验规范.pdf
2019/04/14  10:01           397,283 AQ+2055-2016+金属非金属矿山在用空气压缩机安全检验规范+第1部分:固定式空气压缩机.pdf
2019/04/14  10:00           405,193 AQ+2056-2016+金属非金属矿山在用空气压缩机安全检验规范+第2部分:移动式空气压缩机.pdf
2019/04/14  09:57           348,588 AQ+2057-2016+金属非金属矿山在用货运架空索道安全检验规范.pdf
2019/04/14  09:58           637,031 AQ+2058-2016+金属非金属矿山在用矿用电梯安全检验规范.pdf
2019/04/14  09:58           542,421 AQ+2059-2016+磷石膏库安全技术规程.pdf
2019/04/14  10:00           438,795 AQ+4272-2016+铝镁制品机械加工粉尘防爆安全技术规范.pdf
2019/04/14  09:59           402,804 AQ+4273-2016+粉尘爆炸危险场所用除尘系统安全技术规范.pdf
2019/04/14  09:59           298,875 AQT+2050.1-2016+金属非金属矿山安全标准化规范+导则.pdf
2019/04/14  09:59           512,819 AQT+2050.2-2016+金属非金属矿山安全标准化规范+地下矿山实施指南.pdf
2019/04/14  10:00           533,310 AQT+2050.3-2016+金属非金属矿山安全标准化规范+露天矿山实施指南.pdf
2019/04/14  10:01           381,932 AQT+2050.4-2016+金属非金属矿山安全标准化规范+尾矿库实施指南.pdf
2019/04/14  09:57           442,934 AQT+2050.5-2016+金属非金属矿山安全标准化规范+小型露天采石场实施指南.pdf
2019/04/14  09:59           632,406 AQT+2051-2016+金属非金属地下矿山人员定位系统通用技术要求.pdf
2019/04/14  10:01           657,529 AQT+2052-2016+金属非金属地下矿山通信联络系统通用技术要求.pdf
2019/04/14  09:58           592,282 AQT+2053-2016+金属非金属地下矿山监测监控系统通用技术要求.pdf
2019/04/14  09:59           360,931 AQT+2060-2016+金属冶炼单位主要负责人安全生产管理人员安全生产培训大纲和考核标准.pdf
2019/04/14  09:58         1,044,193 AQT+4276-2016+噪声职业病危害风险管理指南.pdf
2019/04/14  09:59           269,409 AQT+4277-2016+隧道运营场所防尘防毒技术规范.pdf
2019/04/14  09:57           440,013 AQT+4278-2016+水泥生产企业建设项目职业病防护设施设计专篇编制细则.pdf
2019/04/14  10:01           779,992 AQT+4280-2016+火力发电企业建设项目职业病危害控制效果评价细则.pdf
2019/04/14  10:00           214,560 AQT+8011-2016+安全培训机构基本条件.pdf
2004/12/26  16:42           617,159 Dem与遥感影像制作三维效果简单教程.pdf
2017/12/29  00:41        11,085,649 EXCEL2010中文帮助文档.chm

不过我个人还是不太喜欢,用txt在editplus里面编辑,很麻烦,但是有不想写,所以我在百度上找了一段以下代码经过测试完美运行,为了方便阅读,我把干扰代码去除了,希望原作者不要生气,广告可以直接加,但是没必要混淆.

:将以下代码复制到txt文档中,将txt后缀改成bat
:然后双击运行,就可以选择是否去除文件名中的空格,是否生成文件夹目录或者文件目录
@echo off
color f2
echo 我可以将【文件夹】目录及子目录【去除文件名空格】整理到-目录表格.xls
echo 下一步,选择要执行的功能。
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】--包括子文件夹
)
pause

运行效果如下,个人感觉很满意哈

《一键列出文件目录》

发表回复