无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3040|回复: 3
打印 上一主题 下一主题

[分享] bat半成品 输出指定目录 指定层级下的文件

[复制链接]
跳转到指定楼层
1#
发表于 2012-5-26 00:27:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
功能上类似c大的文件选择模块    http://chenall.net/post/g4d_filelist/

不过检索方式不同  我的以根目录下文件优先输出  具体差别看输出结果截图吧

我的脚本              


c大的脚本


!BAT
::call %~0 %dir_deep% %dir_root%
set dir_deep=2 && call Fn.15 "%~1" "" && set dir_deep=%~1
set dir_root=%@root% && call Fn.15 "%~2" "" && set dir_root=%~2
setlocal
debug 0
call :subdir %dir_root%
endlocal
exit

:subdir
if "%~1"=="" && exit
rootnoverify %~d1
set path=%~pnx1
call :pathcheck
call Fn.11 "%bd%" "pd" && set ls=cat %path%DIR.TXT ! set ls=ls %path%
%ls% | call :automake %~1
::echo -e \x01 %@root%%%path% end
set /a dir_deep=%dir_deep%-1
if %dir_deep%>=1 && %ls% | call :subdir_folder %~1
shift
goto :subdir

:subdir_folder
shift
if "%~1"=="" && exit
cat --length=0 %path%%%~1 > nul && goto :subdir_folder
setlocal
call :subdir %@root%%%path%%%~1/
endlocal
goto :subdir_folder

:automake
shift
if "%~1"=="" && exit
cat --length=0 %@root%%%path%%%~1 > nul && echo %@root%%%path%%%~1
goto :automake



::对path值进行检测,以确定是否合法,调用方式 call :pathcheck ;处理结束后path值为“认为”合法的结果
:pathcheck
::检测第一位是否为/
call Fn.15 "%path%" "" || set path=/ ! call Fn.15 "%path:~,1%" "/" && set path=%path:~1% && goto :pathcheck
::若path值最后一位是/,先去掉
call Fn.11 "%path:~-1%" "/" && set path=%path:~,-1%
::重新补齐/
call Fn.15 "%path%" "" && set path=%path%/ ! set path=/
exit


2#
发表于 2012-5-26 02:14:36 | 只看该作者
S大又出手了。好好学习一下。
回复

使用道具 举报

3#
发表于 2012-5-26 09:25:44 | 只看该作者
嘿嘿!!剽窃一下代码^^
回复

使用道具 举报

4#
发表于 2012-5-26 15:34:00 | 只看该作者
看起来很不错的啊支持一下了啊。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-15 23:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表