You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SVN命令仅获取所有文件夹及子文件夹?(Windows环境)

解决Windows环境下SVN批量获取文件夹结构的问题

我太懂这种大SVN仓库里只想要文件夹结构却被海量文件拖垮的痛苦了!结合你遇到的情况,给你几个Windows环境下可行的方案:

方案1:用SVN命令 + Windows原生findstr筛选文件夹

Windows没有grep,但自带的findstr可以实现类似的筛选功能。SVN的list命令递归列出仓库内容时,文件夹的行尾会带斜杠/,我们可以利用这一点过滤出纯文件夹路径:

svn list -R --depth infinity https://你的SVN仓库地址 | findstr /E /C:"/"
  • -R和--depth infinity用来递归遍历所有层级的目录
  • findstr /E表示匹配行尾的内容,/C:"/"指定要匹配的是斜杠,这样就只会保留文件夹的路径

如果需要把这些文件夹直接在本地创建出来,可以先把路径导出到文件:

svn list -R --depth infinity https://你的SVN仓库地址 | findstr /E /C:"/" > folders.txt

然后新建一个批处理文件(比如create_folders.bat),内容如下:

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (folders.txt) do (
    mkdir "%%i" 2>nul
)

双击运行这个批处理,就会自动创建所有文件夹了,2>nul是用来忽略“文件夹已存在”的错误提示,避免脚本中断。

方案2:用TortoiseSVN GUI一键导出(更省心)

如果你装了TortoiseSVN(Windows下用SVN的人基本都装这个),那操作更简单,完全不用写命令:

  1. 在本地你想创建文件夹结构的位置右键,选择「TortoiseSVN」→「Export」
  2. 在弹出的导出窗口里,输入你的SVN仓库URL,选择本地目标路径
  3. 找到「Export type」选项,选择「Only directory structure」
  4. 点击确定,等着它跑完就行——这个方法只会创建文件夹,不会下载任何文件,速度快很多,也不会因为数据量太大崩溃

为啥你之前的方法不行?

  • 对比空文件夹的方法需要遍历所有文件做对比,大仓库里文件数量多到离谱,自然容易超时崩溃
  • grep/egrep是Linux/bash下的命令,Windows cmd或者PowerShell里确实不识别,用findstr替代就好啦

内容的提问来源于stack exchange,提问作者Franck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:53:39