首页 > 其他分享 >写一个cmd脚本,列出指定目录下的所有子目录和文件,限制层数

写一个cmd脚本,列出指定目录下的所有子目录和文件,限制层数

时间:2023-10-27 12:37:49浏览次数:37  
标签:set indent %% cmd 子目录 CMD curdepth 层数 indent%

在 Windows 的 CMD shell 中,tree 命令并不直接支持指定层数。

你可以编写CMD脚本达到相同目标。

@echo off
setlocal
set "root=%~1"
set "maxdepth=%~2"
set "curdepth=0"
set "indent="

:loop
pushd "%root%"
for /d %%D in (*) do (
    echo %indent%+-- %%D
    if %curdepth% lss %maxdepth% (
        set /a "curdepth+=1"
        set "root=%%D"
        set "indent=%indent%    "
        call :loop
        set "indent=%indent:~,-4%"
        set /a "curdepth-=1"
    )
)
popd
exit /b
tree_depth.cmd C:\path\to\directory 2



标签:set,indent,%%,cmd,子目录,CMD,curdepth,层数,indent%
From: https://blog.51cto.com/u_15247503/8052641

相关文章

  • 在 Windows 7 中,你可以使用命令行工具 cmd 来查询 添加安装 卸载 Windows 组件功能。
    在Windows7中,你可以使用命令行工具cmd来查询Windows组件功能。你可以使用dism命令来列出当前安装的所有Windows组件功能。以下是使用dism命令查询Windows组件功能的步骤:打开命令提示符(cmd):可以通过在开始菜单中搜索"cmd"并打开它,或者按下Win+R组合键,输入"c......
  • 如何批量分别压缩大量大型文件 |7z 7zip cmd powershell RAR
    Background我们经常压缩文件,这点很普通。但有时候会产生分卷压缩的需求。所谓分卷,就是把压缩文件拆分成若干文件,已达到限制单个文件容量上限的目的。在目前的时代下,这种需求非常小众,但以下两种情况还是有可能会有作用。想把非常大的文件/文件夹上传到网盘,但是网盘有单个文件......
  • 17.2 实现无管道正向CMD
    WSASocket无管道正向CMD,使用WSASocket函数创建一个TCP套接字,并绑定到一个本地地址和端口上。然后使用CreateProcess函数创建一个新的CMD进程,并将标准输入、输出和错误输出重定向到套接字的句柄上。这样,客户端可以通过网络连接到这个套接字,发送CMD命令并获取命令输出结果。这种方......
  • 17.3 实现无管道反向CMD
    WSASocket无管道反向CMD,与无管道正向CMD相反,这种方式是在远程主机上创建一个TCP套接字,并绑定到一个本地地址和端口上。然后在本地主机上,使用WSASocket函数连接到远程主机的套接字,并将标准输入、输出和错误输出重定向到套接字的句柄上。这样,本地主机就可以通过网络连接到远程主机的......
  • 17.1 隐藏执行CMD命令
    本章内容涉及使用SocketAPI和CMD命令行工具实现本地CMD命令执行、无管道正向CMD和无管道反向CMD三种功能。执行本地CMD实现使用CreateProcess函数创建一个新的CMD进程,并将标准输入、输出和错误输出重定向到当前进程的标准输入、输出和错误输出。无管道正向CMD和无管道反向CMD使用W......
  • 17.1 隐藏执行CMD命令
    本章内容涉及使用SocketAPI和CMD命令行工具实现本地CMD命令执行、无管道正向CMD和无管道反向CMD三种功能。执行本地CMD实现使用CreateProcess函数创建一个新的CMD进程,并将标准输入、输出和错误输出重定向到当前进程的标准输入、输出和错误输出。无管道正向CMD和无管道反向CMD使用......
  • makefile学习记录 :一个工程里有多个makefile 如何make根目录下的makefile 调用子目录
    注:本文个人学习记录目的:一个工程里有多个makefile如何make根目录下的makefile调用子目录下的makefile,编译所有.c文件如图所示目录结构,根目录server:makefile;子目录so:makefile  根目录makefile:GCC=gccAPP=server ALL_C=$(wildcard./*.c)C_OBJ=$(notdir$......
  • cmd删除巨量本地文件下的文件(windows)
    当文件夹中的文件数量非常庞大时,尤其是在老旧或资源有限的系统上,直接通过图形用户界面(GUI)来删除文件可能会非常缓慢甚至导致系统卡死。作为一名程序员,当然要想更底层的办法解决啦。这种情况下,可以尝试使用命令行来高效、快速地删除大量文件:.打开命令提示符:按Win+R键打开......
  • Python中的NirCmd入门
    Python中的NirCmd入门简介NirCmd是一个强大的命令行实用工具,可在Windows系统上执行各种系统操作和任务。它可以用于执行诸如调整音量、打开网站、控制窗口、发送键盘鼠标输入等常见任务。虽然NirCmd是一个独立的可执行文件,但我们可以使用Python来调用它并将其集成到我们的脚本中。......
  • 常用cmd命令
    calc:启动计算器 Shutdown-s-t30:表示30秒后自动关机,中间带有空格。shutdown-a:取消定时关机Shutdown-r-t30:表示30秒后自动重新启动control:控制面版devmgmt.msc:设备管理器desk.cpl:屏幕辨别率diskmgmt.msc:磁盘管理dxdiag:检查DirectX信息explorer:资源管理器fsmgmt.......