窗口 – 在dos中设置dir命令的递归深度
发布时间:2020-12-14 04:32:53 所属栏目:Windows 来源:网络整理
导读:我正在使用以下命令列出一些目录: dir /b /s /AD c:tempdir_list.txt 这给了我几乎所需的清单.但是这是太多的数据,因为一些文件夹有很多子文件夹,我不想在我的列表中看到. 是否可以将命令的递归深度限制为-lets说-3? c:dir_1dir_2dir_3dir_foo 所以
我正在使用以下命令列出一些目录:
dir /b /s /AD > c:tempdir_list.txt 这给了我几乎所需的清单.但是这是太多的数据,因为一些文件夹有很多子文件夹,我不想在我的列表中看到. 是否可以将命令的递归深度限制为-lets说-3? c:dir_1dir_2dir_3dir_foo 所以如果我在上面的例子中执行命令c:>我不想看到dir_foo目录,只是dir_n的目录 也许没有批处理/ vb脚本?
我确定可以编写一个复杂的命令来列出n级目录.但是很难记住语法和错误.每次你想要更改级别的数量也需要改变.
更好地使用一个简单的脚本. 编辑5年后 – 实际上,自Vista以来就有一个简单的一个班轮. See my new ROBOCOPY solution. 这是一个执行深度优先列表的批处理解决方案. DIR / S命令执行广泛的第一个列表,但我更喜欢这种深度第一格式. @echo off setlocal set currentLevel=0 set maxLevel=%2 if not defined maxLevel set maxLevel=1 :procFolder pushd %1 2>nul || exit /b if %currentLevel% lss %maxLevel% ( for /d %%F in (*) do ( echo %%~fF set /a currentLevel+=1 call :procFolder "%%F" set /a currentLevel-=1 ) ) popd 广泛的第一个版本几乎是一样的,除了它需要一个额外的FOR循环. @echo off setlocal set currentLevel=0 set maxLevel=%2 if not defined maxLevel set maxLevel=1 :procFolder pushd %1 2>nul || exit /b if %currentLevel% lss %maxLevel% ( for /d %%F in (*) do echo %%~fF for /d %%F in (*) do ( set /a currentLevel+=1 call :procFolder "%%F" set /a currentLevel-=1 ) ) popd 两个脚本都有两个参数: arg1 =要列出的根目录的路径 arg2 =要列出的级别数. 所以要列出当前目录的3个级别,可以使用 listDirs.bat . 3 要列出不同目录的5个级别,可以使用 listDirs.bat "d:my folder" 5 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows – C#catch kill命令
- windows-installer – InstallShield如何永不覆盖文件
- 如何判断我的Windows服务器是否在交换?
- 升级Windows Server 2003 R2 Enterprise(32位)
- windows-8 – Visual Studio Express 2012 for Desktop中没
- Windows命令判断.dll文件是32位还是64位?
- windows – regexp在日志文件中匹配,返回匹配上下的动态内容
- wpf – 可停放的Windows.浮动窗口和MainWindow菜单集成
- windows-phone-7 – 如何更改Panorama项目标题的字号?
- .NET 4下的偶发Windows服务失败,然后在重新启动尝试时阻塞端
推荐文章
站长推荐
- windows-phone-7 – ListPicker FullMode所选项目
- Windows系统查看xxx.dll、xxx.lib文件的导出函数
- Windows任务调度程序在几秒钟内执行任务
- windows / c:如何从信号处理程序中获取有用的堆
- windows – 有没有推荐的方法从外部程序重复调用
- api – Windows Live Mesh为程序设置提供同步;我
- Microsoft Access 2003数据库可以存储多少条记录
- winapi – 在Windows上自定义控件中处理任意文本
- Windows XP 64位还可以购买吗?
- Windows Azure移动服务与Azure云服务有何不同?
热点阅读