package test;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Date;
public class FileManagerDeleteSvn
{
/**
* main方法
*/
public static void main(String[] args){
new FileManagerDeleteSvn().removeSvnFilesExample();
}
/**
* 例子--==-- 删除指定文件夹下的所有svn相关文件
*/
public void removeSvnFilesExample(){
//目标文件流
BufferedWriter utput = null;
//要移除SVN文件位置
// String removeDir = "F:/temp/qhdm";
String removeDir = "C:/Users/Beck/Desktop/arcgis/project/40/apache-tomcat-6.0.35-windows-x86/tomcat_Port8080_Send2AW/webapps/portal";
//日志文件
String logPath = "F:/temp/removeFileLog_"+Tools.formatDate(new Date(), "yyyy-MM-dd_HH-mm-ss")+".txt";
try {
//创建日志文件
try {
this.createFileAndAutoCreateDirectory(logPath);
utput = new BufferedWriter(new FileWriter(new File(logPath)));
} catch (Exception e) {
e.printStackTrace();
}
//
utput.write("删除指定文件夹下的所有svn相关文件---===---开始时间:"+Tools.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"+"\r\n"));
//删除指定文件夹下的所有svn相关文件
new FileManagerDeleteSvn().removeSvnFiles(removeDir,utput);
//
utput.write("删除指定文件夹下的所有svn相关文件---===---结束时间:"+Tools.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"+"\r\n"));
utput.write("删除结束"+"\r\n");
} catch (Exception e) {
e.printStackTrace();
} finally {
try { utput.flush(); } catch (IOException e) { e.printStackTrace(); }
try { utput.close(); } catch (IOException e) { e.printStackTrace(); }
utput = null;
System.out.println("删除指定文件夹下的所有svn相关文件---===---结束");
System.out.println("日志文件:"+logPath);
}
}
/**
* 删除指定文件夹下的所有svn相关文件
* @param filePath
*/
public void removeSvnFiles(String filePath, BufferedWriter utput) {
try {
File file = new File(filePath);
//存在且为文件夹
if (file.exists() && file.isDirectory()) {
String[] files = file.list();
for( int i=0; files!=null && i<files.length; i++ ){
if(".svn".equals(files[i])){
utput.write("-----=== 开始 "+filePath+"/.svn 文件夹删除 ===-----"+"\r\n");
System.out.println("-----=== 开始 "+filePath+"/.svn 文件夹删除 ===-----");
this.removeDirectoryAndFile(filePath+"/.svn", utput);
System.out.println("-----=== 结束 "+filePath+"/.svn 文件夹删除 ===-----");
utput.write("-----=== 结束 "+filePath+"/.svn 文件夹删除 ===-----"+"\r\n");
} else {
//递归
this.removeSvnFiles(filePath+"/"+files[i], utput);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 删除指定文件或文件夹(如果是文件夹,删除其下的所有文件和文件夹,最后删除该文件夹)
* @param filePath
*/
public void removeDirectoryAndFile(String filePath, BufferedWriter utput) {
try {
File file = new File(filePath);
boolean isDel = false;
if( file.isFile() ){
isDel = file.delete();
utput.write("delete file "+isDel+" ===== "+filePath+"\r\n");
System.out.println("delete file "+isDel+" ===== "+filePath);
} else {
String[] files = file.list();
if( files!=null && files.length>0 ){
//递归
for(int i=0; i<files.length; i++){
this.removeDirectoryAndFile(filePath+"/"+files[i], utput);
}
isDel = file.delete();
utput.write("delete directory "+isDel+" ===== "+filePath+"\r\n");
System.out.println("delete directory "+isDel+" ===== "+filePath);
} else {
isDel = file.delete();
utput.write("delete directory "+isDel+" ===== "+filePath+"\r\n");
System.out.println("delete directory "+isDel+" ===== "+filePath);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 创建文件,存在则不创建,文件夹不存在则自动创建
* @param filePath
*/
public void createFileAndAutoCreateDirectory(String filePath){
try{
File file = new File(filePath);//要创建的文件
File parentDir = new File(file.getParent());//要创建的文件所在的文件夹
if(!parentDir.exists()){ parentDir.mkdirs(); }//文件夹不存在则创建
if (!file.exists()) { file.createNewFile(); }//文件不存在则创建
} catch (Exception e) {
e.printStackTrace();
}
}
}
package test;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Tools
{
/**
*
* @param date //new Date()
* @param format //yyyy-MM-dd hh:mm:ss
* @return
*/
public static String formatDate(Date date, String format){
String result = null;
try{
DateFormat dateFormat = new SimpleDateFormat(format);
result = dateFormat.format(date);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
分享到:
相关推荐
本文将详细讲解如何通过“remove svn”这一操作来实现这一目标,以及提供的`remove svn.reg`文件的作用。 首先,我们需要理解SVN在文件系统中的存在方式。当一个文件夹被SVN管理时,它会在每个子文件夹下创建一个名...
这个工具,名为`removesvn.bat`,是一个批处理脚本,适用于Windows操作系统。它的主要任务是删除Java源代码文件中的SVN元数据,使得文件可以在不引发冲突的情况下进行替换。 在Java类文件中,SVN的元数据通常隐藏在...
TortoiseSVN 断开本地SVN关联功能的脚本文件 只需双击执行加入注册表即可。
批量删除svn文件夹及文件,解除去除svn控制工具体批量删除svn文件夹及文件,解除去除svn控制工具体
简写:svn del, rm, remove 八、log 命令 log 命令用于查看日志。语法:svn log path 例如:svn log test.php(显示这个文件的所有修改记录,及其版本号的变化) 九、info 命令 info 命令用于查看文件详细信息。...
dirs.remove('.svn') # 不再进入.SVN目录 os.rmdir(os.path.join(root, '.svn')) # 删除.SVN目录 remove_svn_folders('你的目录路径') ``` - 这段代码会递归地遍历指定目录及其所有子目录,遇到.SVN目录时,先...
dirs.remove('.svn') # 不再进入.SVN目录 os.rmdir(os.path.join(root, '.svn')) # 删除.SVN目录 remove_svn('./') ``` 这个Python脚本会遍历指定目录(`./`)及其所有子目录,遇到.SVN目录时,先从`dirs`列表中...
简要cvs与svn的比较 ... 删除分remove和erase两种前者把本地和库中文件都删除 后者只是删除本地文件 不能删除文件夹 svn:支持文件重命名提交系统会提示删除旧文件,创建新文件 删除本地文件提交 库中文件也被删除
SVNService -remove to remove the service SVNService -debug to run as a console app for debugging Example: 比如,你的所有项目都在c:\svnrepo下,你可以如下 安装时用 SVNService -install -d -r c:\svn...
7. **删除(svn delete/remove/rm)**: 删除工作副本中的文件或目录,并将其标记为将在下次提交时从仓库中移除,`svn rm filename`。 8. **查看状态(svn status)**: 显示工作副本中文件和目录的状态,包括...
下面是如何使用`remove.bat`脚本来批量删除`.svn`文件的步骤: 1. **解压文件**:首先,你需要将压缩包文件解压,得到`remove.bat`脚本。 2. **打开命令提示符**:在Windows中,按下`Win + R`键,输入`cmd`或`...
1. `FOR /R %d IN (.svn) DO @RD /S /Q "%d"` - 这个命令使用了`FOR /R`循环来遍历当前目录及其所有子目录,找到名为`.svn`的目录,然后使用`RD`(Remove Directory)命令删除它们。`/S`参数表示递归删除子目录,`/Q...
svn del, remove, rm ``` **说明**: `svn delete` 命令用于删除版本库中的文件或目录。`-m` 参数后跟删除的原因。 ##### 8. 查看日志 **命令格式**: ``` svn log ``` **示例**: ``` svn log test.php ``` **说明**...
简写:svn del, svn remove, svn rm ``` **示例**: ``` svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file" ``` **功能说明**:从版本库中删除指定文件或目录。 ##### 8. 查看日志 **命令...
m "delete test fle" 例如:svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file" 或者直接 svn delete test.php 然后再 svn ci -m 'delete test file‘,推荐使用这种简写:svn (del, remove, ...
这可以通过提供的bat脚本来完成,比如`install-service.bat`用于安装服务,`remove-service.bat`用于卸载服务。这些脚本会自动处理服务注册和启动,确保SVN服务器在系统启动时自动运行。 此外,我们还需要配置SVN...
2. 使用`svn remove --non-interactive --force .`:这将删除当前目录下的所有SVN信息,包括.svn隐藏目录。但请注意,这也会删除所有未提交的本地更改。 3. 使用`find`或`dir /s /ah`查找并删除.svn隐藏目录:这种...
2. **安装Subversion**:执行`# yum install subversion`,如果提示已存在,则可使用`# yum remove subversion`卸载后再重新安装。 #### 配置环境变量 安装完成后,需将SVN相关命令的路径添加到环境变量中,确保...
- **简写**: `svn del`, `svn remove`, `svn rm` **解释**: 使用此命令可以从版本库中删除不再需要的文件。删除操作需要提交才能生效。 ##### 8. 查看日志 **命令**: `svn log <path>` - **功能**: 查看文件或...