有没有办法删除文件夹,让我们从SVN中继递归调用FolderX?在谷歌上快速搜索只告诉我如何递归删除所有.svn文件夹,这不是我想要做的
答案 0 :(得分:32)
在posix系统上尝试以下内容:
find ./ -name "FolderX" | xargs svn delete --force
这将找到从当前目录开始的所有匹配文件/文件夹,并对它们执行操作,即svn delete。我不知道如果没有cygwin,如何在Windows中执行此操作。
对于win32,下面的评论者提出了类似的解决方案(cmd):
for /R . %1 in (*.EXT) do svn delete %1
答案 1 :(得分:4)
svn delete FolX --force
也应该可以解决问题。
答案 2 :(得分:2)
find . -name ".svn" -exec rm -rf {} \;
答案 3 :(得分:0)
我创建了一个SH作为“rm”常见的轻松运行。
#!/bin/bash
if [ $\# -eq 0 ] ; then
echo
echo "Path not found"
echo "Use:"
echo " $0 path"`
echo " $0 /var/www/test/svn/website"
echo " $0 ."
echo "Operation cancelled"
echo
exit 1
fi
echo
echo "Recursively delete .svn directories in:"
if [ $1 != "." ] ; then
echo $1
else
pwd
fi
echo
read -p "Continue? [Yes/No]: " x
if [ "$x" != "Yes" ] ; then
echo "Operation cancelled"
echo
exit 1
fi
find $1 -name .svn -exec rm -rf {} \;
echo "End!"
echo
exit 0`
保存文件,并使其可执行:
chmod +x rm_svn_dirs
使用:
rm_svn_dirs /var/www/svn/www
rm_svn_dirs ./svn/www
rm_svn_dirs .
答案 4 :(得分:0)
如果要在批处理文件中使用它,请不要忘记将%加倍:
表示/ R. (* .EXT)中的%1执行svn删除%1
_
表示/ R. (* .EXT)中的%% 1执行svn delete %% 1
答案 5 :(得分:-1)
它对我来说效果很好
find directory_to_delete/ -type d -name '*.svn' | xargs rm -rf