`

removeSVN

svn 
阅读更多
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”这一操作来实现这一目标,以及提供的`remove svn.reg`文件的作用。 首先,我们需要理解SVN在文件系统中的存在方式。当一个文件夹被SVN管理时,它会在每个子文件夹下创建一个名...

    去除java类中svn地址工具

    这个工具,名为`removesvn.bat`,是一个批处理脚本,适用于Windows操作系统。它的主要任务是删除Java源代码文件中的SVN元数据,使得文件可以在不引发冲突的情况下进行替换。 在Java类文件中,SVN的元数据通常隐藏在...

    TortoiseSVN断开本地SVN关联

    TortoiseSVN 断开本地SVN关联功能的脚本文件 只需双击执行加入注册表即可。

    批量删除svn文件夹及文件,解除去除svn控制工具 remove.bat

    批量删除svn文件夹及文件,解除去除svn控制工具体批量删除svn文件夹及文件,解除去除svn控制工具体

    svn命令大全.docx

    简写:svn del, rm, remove 八、log 命令 log 命令用于查看日志。语法:svn log path 例如:svn log test.php(显示这个文件的所有修改记录,及其版本号的变化) 九、info 命令 info 命令用于查看文件详细信息。...

    SVN版本控制清除工具

    dirs.remove('.svn') # 不再进入.SVN目录 os.rmdir(os.path.join(root, '.svn')) # 删除.SVN目录 remove_svn_folders('你的目录路径') ``` - 这段代码会递归地遍历指定目录及其所有子目录,遇到.SVN目录时,先...

    递归删除.svn

    dirs.remove('.svn') # 不再进入.SVN目录 os.rmdir(os.path.join(root, '.svn')) # 删除.SVN目录 remove_svn('./') ``` 这个Python脚本会遍历指定目录(`./`)及其所有子目录,遇到.SVN目录时,先从`dirs`列表中...

    Svn 与 CVS 比较

    简要cvs与svn的比较 ... 删除分remove和erase两种前者把本地和库中文件都删除 后者只是删除本地文件 不能删除文件夹 svn:支持文件重命名提交系统会提示删除旧文件,创建新文件 删除本地文件提交 库中文件也被删除

    SVN Service Wrapper for Windows

    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...

    svn常用命令介绍

    7. **删除(svn delete/remove/rm)**: 删除工作副本中的文件或目录,并将其标记为将在下次提交时从仓库中移除,`svn rm filename`。 8. **查看状态(svn status)**: 显示工作副本中文件和目录的状态,包括...

    批量删除.svn

    下面是如何使用`remove.bat`脚本来批量删除`.svn`文件的步骤: 1. **解压文件**:首先,你需要将压缩包文件解压,得到`remove.bat`脚本。 2. **打开命令提示符**:在Windows中,按下`Win + R`键,输入`cmd`或`...

    delete-svn

    1. `FOR /R %d IN (.svn) DO @RD /S /Q "%d"` - 这个命令使用了`FOR /R`循环来遍历当前目录及其所有子目录,找到名为`.svn`的目录,然后使用`RD`(Remove Directory)命令删除它们。`/S`参数表示递归删除子目录,`/Q...

    linux下使用svn客户端

    svn del, remove, rm ``` **说明**: `svn delete` 命令用于删除版本库中的文件或目录。`-m` 参数后跟删除的原因。 ##### 8. 查看日志 **命令格式**: ``` svn log ``` **示例**: ``` svn log test.php ``` **说明**...

    svn常见命令行

    简写:svn del, svn remove, svn rm ``` **示例**: ``` svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file" ``` **功能说明**:从版本库中删除指定文件或目录。 ##### 8. 查看日志 **命令...

    SVN常用命令集合及简单用法

    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, ...

    svn服务器配置教程全

    这可以通过提供的bat脚本来完成,比如`install-service.bat`用于安装服务,`remove-service.bat`用于卸载服务。这些脚本会自动处理服务注册和启动,确保SVN服务器在系统启动时自动运行。 此外,我们还需要配置SVN...

    清除SVN脚本

    2. 使用`svn remove --non-interactive --force .`:这将删除当前目录下的所有SVN信息,包括.svn隐藏目录。但请注意,这也会删除所有未提交的本地更改。 3. 使用`find`或`dir /s /ah`查找并删除.svn隐藏目录:这种...

    虚拟机centos安装svn

    2. **安装Subversion**:执行`# yum install subversion`,如果提示已存在,则可使用`# yum remove subversion`卸载后再重新安装。 #### 配置环境变量 安装完成后,需将SVN相关命令的路径添加到环境变量中,确保...

    linux下svn的使用

    - **简写**: `svn del`, `svn remove`, `svn rm` **解释**: 使用此命令可以从版本库中删除不再需要的文件。删除操作需要提交才能生效。 ##### 8. 查看日志 **命令**: `svn log &lt;path&gt;` - **功能**: 查看文件或...

Global site tag (gtag.js) - Google Analytics