如果你使用Perl可言,這裏有一個小腳本我有這樣做的,再加上採取了其他目錄類型(得心應手/ bin等等..從VS):
#!/usr/local/bin/perl -w
#-------------------------------------------------------------------------------
# removedirs.pl - Recursively removes directories from a given root folder
# Author: Nick Gotch
# Date: 07-13-2009
#-------------------------------------------------------------------------------
use strict;
use warnings;
use File::Path;
#-------------------------------------------------------------------------------
# User Setting Variables
#-------------------------------------------------------------------------------
my $basepath = 'C:\\Path\\to\\RootDir\\';
#-------------------------------------------------------------------------------
# Processing
#-------------------------------------------------------------------------------
# Prompt for Confirmation
syswrite(STDOUT, "Confirm removal of directories?\nPress 'Y' to confirm.\n");
$confirm = <STDIN>;
if($confirm =~ /^[Yy]$/)
{
# Add lines here to remove other dirs...
RemoveDir($basepath, ".svn");
syswrite(STDOUT, "Done.\nPress <ENTER> to close.\n");
}
<STDIN>;
sub RemoveDir
{
my ($directory, $dirtodelete) = @_;
if(-e $directory.'\\'.$dirtodelete.'\\')
{
rmtree($directory.$dirtodelete.'\\');
syswrite(STDOUT, "Removed: ".$directory.$dirtodelete.'\\'."\n");
}
opendir(DIR, $directory);
my @subdirlist;
while(my $subdir = readdir(DIR))
{
if(($subdir ne '.') && ($subdir ne '..') && (-d $directory.$subdir))
{
push(@subdirlist, $directory.$subdir.'\\');
}
}
closedir(DIR);
foreach my $subdir (@subdirlist) { RemoveDir($subdir, $dirtodelete); }
}
拉里,很好的答案。我使用TortoiseSVN。我知道svn Export命令。我的理解是,SVN導出不會複製未版本控制的文件。這就是爲什麼我問(而且應該在問題中更清楚)。那說我不知道烏龜功能。這是否使未版本控制的文件保持完好? – 2010-02-02 20:39:30
我沒有必要這樣做,所以我不知道。找出答案的一種方法是在您的環境中使用測試工作副本進行試用。 – 2010-02-02 22:33:22
如果您選擇**全部導出**,它將包含未版本控制的文件。 – RedFilter 2010-02-03 02:09:34