如何在Windows主机上通过FTP删除svn文件夹

3

我不小心通过FTP将SVN工作副本中的大部分文件夹树复制到了共享的Windows Web主机上。

现在网站上到处都是.svn目录,我需要一些方法来清理它们。我只能通过FTP访问服务器,或者在服务器上运行脚本。

有没有人有一个可以远程运行以从我的开发机器(任何语言Windows / Linux均可)通过FTP删除文件或在Windows服务器上直接运行的ASP、ASP.net或PHP脚本来删除这些目录的脚本?


你说任何语言的 Windows/Linux 都可以,我猜 Bash 也适用。请明确陈述您在问题中期望得到什么,不要选择贬低其它回答。 - pajton
1
@pajton - 我相信我在问题的第一行清楚地说明了我的主机正在运行 Windows。在更深入的阐述中,我提到解决方案可以直接在安装了多种语言的服务器上运行,也可以通过任何配置的 FTP 进行操作 - 因此,在 Linux 上运行但可以通过 FTP 与 Windows 主机交互的 shell 脚本是可以的,但是期望在同一台机器上运行的 shell 脚本则不可行。我已编辑我的问题,希望能更清晰地表达这一点。 - Loftx
1个回答

1

怎么样:

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *svn') do ( rd /s /q "%%i" )

取自http://www.axelscript.com/2008/03/11/delete-all-svn-files-in-windows

另外,关于你之前的陈述,尝试在php中运行以下代码:

<?php
echo `for /f “tokens=* delims=” %%i in (’dir /s /b /a:d *svn’) do ( rd /s /q “%%i” )`;
?>

我正准备尝试这个 - 你是不是指的是exec()而不是echo呢? - Loftx
尝试两个,我更喜欢使用echo,因为你可以“理论上看到Shell返回的输出”。 - plod
刚试了一下,但好像无法正常工作。我按照链接中描述的方法将智能引号替换为 ' 和 ",但它只是打印字符串。当我使用 exec() 或 system() 时,根本没有任何效果。 - Loftx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接