精华内容
下载资源
问答
  • 批量复制文件

    2015-08-25 10:40:59
    批量复制文件是一个专门批量负责文件的一个工具。简单使用。为破解版,欢迎下载!
  • 快速批量复制文件

    千次阅读 2020-05-07 22:38:50
    快速批量复制文件,比如在图库里面提取一些指定名字的图片。

    需求?

    我女朋友提的。。。。。。她们电商后台管理系统导出的身份证图片库,一批货大概有个几千张吧,但不是全部都用得上,需要根据导出的数据提取部分指定身份证的图片。导出的数据有的还跟图库里面的不一样,因为身份证的最后一位有的是X,这边是大写的,那边是小写的,所以提取的时候还要忽略大小写的X。

    还有导出的数据只有身份证号码,但是图库里面的图片名称是 身份证号码.s.jpg,注意到没有?这里是.s.jpg,而且每个口岸还不一样的后缀。

    这个小程序是用Swing写的,非常方便简单快捷就做出来了。
    程序截图:
    在这里插入图片描述
    实现思路也很简单:
    首先获取图库下的文件名,将文件名.toUpperCase()大写形式存放到ArrayList里面,使用.toUpperCase()是为了遍历提取图片数据时两边同时.toUpperCase(),这样就可以忽略大小写了。根据ArrayList.indexOf(data)方法找到提取数据在图库里面的位置,从而复制此图片到新建的提取文件夹下。

    复制文件

    public class FileTools {
    	 /**
    	   * 通过JAVA NIO 非直接缓冲区拷贝文件
    	   *
    	   * @param sourcePath 源文件路径
    	   * @param targetPath 目标文件路径
    	   */
    	  public static void copyFileByChannel(String sourcePath, String targetPath) {
    	    FileChannel outChannel = null;
    	    FileChannel inChannel = null;
    
    	    FileInputStream fis = null;
    	    FileOutputStream fos = null;
    
    	    try {
    	      fis = new FileInputStream(sourcePath);
    	      fos = new FileOutputStream(targetPath);
    
    	      //获取通道
    	      inChannel = fis.getChannel();
    	      outChannel = fos.getChannel();
    
    	      //分配指定大小的缓冲区
    	      ByteBuffer buf = ByteBuffer.allocate(1024);
    
    	      while (inChannel.read(buf) != -1) {
    	        //转换为读取数据模式
    	        buf.flip();
    	        //写入到磁盘
    	        outChannel.write(buf);
    	        //清空缓冲区
    	        buf.clear();
    	      }
    
    	    } catch (Exception e) {
    	      e.printStackTrace();
    	    } finally {
    	      //关闭流
    	      try {
    	        if (outChannel != null) {
    	          outChannel.close();
    	        }
    	        if (inChannel != null) {
    	          inChannel.close();
    	        }
    	        if (fis != null) {
    	          fis.close();
    	        }
    	        if (fos != null) {
    	          fos.close();
    	        }
    	      } catch (IOException e) {
    	        e.printStackTrace();
    	      }
    	    }
    	  }
    
    }
    
    

    当然不止上面一种方式复制文件,贴上地址:java实现文件拷贝的七种方式

    具体实现

    贴上小程序全部代码:

    public class Main2 {
    	
    	private static void showConsole() {
    		
    		JFrame.setDefaultLookAndFeelDecorated(true);
    		
    		JFrame jFrame = new JFrame("RecoverFilesConsole");
    		jFrame.setBounds(800, 400, 600, 600);
    		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		
    		
    		JPanel panel = new JPanel();  
    		jFrame.add(panel);
    		panel.setLayout(null);
    		
    		//选择文件路径
    		JLabel filePathLabel = new JLabel("需要提取图片路径:");
    		filePathLabel.setBounds(10, 20, 120, 30);
    		panel.add(filePathLabel);
            JTextField filePathText = new JTextField(20);
            filePathText.setBounds(130, 20, 380, 30);
            panel.add(filePathText);
            JButton selectButton = new JButton("选择");
            selectButton.setBounds(520, 20, 60, 30);
            panel.add(selectButton);
            
            //excel表格数据
            JLabel excelDataLabel = new JLabel("excel表格数据:");
            excelDataLabel.setBounds(10, 80, 120, 30);
    		panel.add(excelDataLabel);
            JTextArea excelDataText = new JTextArea();
            //添加滚动条
            JScrollPane excelDataJS = new JScrollPane(excelDataText);
            excelDataJS.setHorizontalScrollBarPolicy(
            		JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            excelDataJS.setVerticalScrollBarPolicy(
            		JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
            excelDataJS.setBounds(130, 80, 450, 250);
            panel.add(excelDataJS);
            
            //重置
            JButton resetButton = new JButton("重置");
            resetButton.setBounds(300, 350, 80, 25);
            panel.add(resetButton);
            
            
            //提取
            JButton recoverButton = new JButton("提取");
            recoverButton.setBounds(420, 350, 80, 25);
            panel.add(recoverButton);
            
            //提取结果
            JLabel resultLabel = new JLabel("提取结果:");
            resultLabel.setBounds(10, 400, 120, 30);
    		panel.add(resultLabel);
            JTextArea resultText = new JTextArea();
            //不可编辑
            resultText.setEditable(false);
            //添加滚动条
            JScrollPane resultJS = new JScrollPane(resultText);
            resultJS.setHorizontalScrollBarPolicy(
            		JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
            resultJS.setVerticalScrollBarPolicy(
            		JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
            resultJS.setBounds(130, 400, 450, 150);
            panel.add(resultJS);
            
    		//显示窗口
    		jFrame.setVisible(true);
    		
    		
    		//选择按钮点击事件
    		selectButton.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				
    				//创建文件选择器
    				JFileChooser fileChooser = new JFileChooser();
    				//设置只显示目录
    				fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    				//显示对话框
    				int ret = fileChooser.showOpenDialog(selectButton);
    				//选择完成显示出来
    				if (ret == JFileChooser.APPROVE_OPTION) {
    					String filePath = fileChooser.getSelectedFile().getAbsolutePath();
    					filePathText.setText(filePath);
    				}
    			}
    		});
    		
    		//重置按钮点击事件
    		resetButton.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				
    				filePathText.setText("");
    				excelDataText.setText("");
    				resultText.setText("");
    				
    			}
    		});
    		
    		//提取按钮点击事件
    		recoverButton.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				//需要提取的文件夹
    				String srcFilePath = filePathText.getText();
    				//提取完之后存放的文件夹
    				String distFilePath = filePathText.getText() + "/提取完成";
    				File distFile = new File(distFilePath);
    				if (!distFile.exists()) {
    					distFile.mkdir();
    				}
    				//需要提取的Excel数据
    				String excelData = excelDataText.getText();
    				if (srcFilePath.length() == 0 || excelData.length() == 0) {
    					resultText.setText("数据为空,无法提取!");
    					return ;
    				}
    				String[] datas = excelData.split("\n");
    				
    				try {
    					File files = new File(srcFilePath);
    					ArrayList<String> srcFiles = new ArrayList<>();
    					//获取提取文件夹下面的文件名
    					String[] srcFilesName = files.list();
    					//去掉文件后缀,用于判断文件存在的位置
    					String[] srcFilesName_ = files.list();
    					for (int i = 0; i < srcFilesName_.length; i++) {
    						int index = srcFilesName_[i].indexOf('.');
    						if (index != -1) {
    							String sFileName = srcFilesName_[i].substring(0, index);
    							srcFiles.add(sFileName.toUpperCase());
    						}
    					}
    					for (String data : datas) {
    						int index = srcFiles.indexOf(data.toUpperCase());
    						if (index != -1) {
    							//文件存在,复制此文件到提取完成存放的文件夹下面
    						    String itFilePath = srcFilePath + "/" + srcFilesName[index];
    							String copyFilePath = distFilePath + "/" + srcFilesName[index];
    							FileTools.copyFileByChannel(itFilePath, copyFilePath);
    						}
    						
    					}
    					StringBuilder sb = new StringBuilder();
    					sb.append("提取成功!\n");
    					sb.append("提取文件路径:");
    					sb.append(distFilePath);
    					resultText.setText(sb.toString());
    				} catch(Exception var) {
    					resultText.setText(var.getMessage());
    				}
    				
    			}
    		});
    	}
    	
    	public static void main(String[] args) {
    		
    		//显示控制台
    		javax.swing.SwingUtilities.invokeLater(new Runnable() {
    			
    			@Override
    			public void run() {
    				
    				showConsole();
    				
    			}
    		});
    	}
    
    }
    
    

    没有JRE如何使用?

    经过几番测试,确定程序没有问题了,那就打包吧。
    下面的步骤仅限于eclipse:

    1. 右键项目,选择Export,选择类型是Java/Runnable JAR file。
      在这里插入图片描述
    2. 配置好需要运行的Main类和jar包输出路径,最后点Finish。
      在这里插入图片描述
    3. 新建一个文件夹,把导出的jar包放进去,还要把JRE放进去哦,最后新建一个批处理文件,命名为startRecover.bat。
      在这里插入图片描述
      startRecover.bat里面的内容是:
    start /min jre/bin/java -jar RecoverFileTools.jar
    
    1. 做到这里,双击startRecover.bat文件基本就可以运行在没有JRE的电脑上了。如果想用起来更方便,可以创建快捷方式,配上一个图标。
      在这里插入图片描述
    展开全文
  • 你会使用C#中的listView.GridLines显示文件么、了解如何批量复制文件么?在各数据之间形成网格线,如果你对此不太熟悉,你可以从本源码中学习到一些定义和使用的方法,虽然不太高深,但却很基矗另外,本代码的主要...
  • 文件批量复制文件

    2007-08-13 16:31:26
    文件批量复制文件程序,vb写的,很方便。
  • 批量复制文件小工具

    2015-05-07 11:15:42
    这是一个通过导入文件路径后批量复制文件的小工具
  • 批量复制文件 如果目标文件夹中有重复原文件夹中的文件 则自动删除
  • Windows中进行批量复制文件 Windows中进行批量复制文件 当我们在 处理数量很多的文件是,有时候需要从几千个文件或者更多文件中 查找出部分文件并且复制到相应的文件夹,这时我们用Windows中的查找功能是可以实现的...

    Windows中进行批量复制文件

    Windows中进行批量复制文件

    当我们在 处理数量很多的文件是,有时候需要从几千个文件或者更多文件中 查找出部分文件并且复制到相应的文件夹,这时我们用Windows中的查找功能是可以实现的,但是非常的麻烦,工作效率也不高.。图1

    这时我们就用到批处理了

    #方法一
    1.新建一个Excel文档,将你需要复制的文件的文件名称放在里面
    2.在Excel中输入下面这段代码,不能输错哦
    =“copy copy D:\photos”&B2&" D:\copy"
    copy “源文件路径” “目标文件”
    然后把鼠标放在表格上直到变为十字,往后拖动鼠标自动填充
    在这里插入图片描述

    3…新建一个文本文档,复制前面的Excel文本,放到文本文档中,另存文本文档,格式为.bat
    图2
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    4.双击保存好的.bat文件,就会的到结果
    #方法二
    1.新建文本文档,命名为“拷贝”,格式存为.bat,输入下面这段代码
    @echo off
    for /f “tokens=*” %%a in (d:\需查找的文件.txt) do (
    if exist “D:\源文件夹%%~nxa” (
    copy /y “D:\源文件夹%%~nxa” “D:\挑选\目标文件夹”
    )
    )
    pause
    2.再建一个文本文档,命名为"需查找文件.txt"
    里面写需要查找的文件名称,必须每行一个文件名,像下图:
    在这里插入图片描述
    3.把前面建立的两个文件放到同一个文件夹下,双击拷贝.bat文件,就会得到结果
    /

    展开全文
  • import os, sys from os import walk, mkdir, rename, path from shutil import copy, move import time from openpyxl import load_workbook path = ‘D:\’ ... # 批量复制文件 if '.html' in name: print

    import os, sys
    from os import walk, mkdir, rename, path
    from shutil import copy, move
    import time
    from openpyxl import load_workbook

    path = ‘D:\’

    for root, dirpath, files in walk(path):

    for name in files:
    
        # 批量复制文件
        if '.html' in name:
            print(os.path.join(root, name))
            copy(os.path.join(root, name), os.path.join(r'D:\works\python\web server\venv\html', name))
    
    展开全文
  • Excel VBA批量复制文件到指定目录
  • 就会很麻烦了,今天给大家介绍一下用Python批量复制文件,方法有九种!希望对你有帮助1. Shutil Copyfile()方法该方法只有在目标可写时才将源的内容复制到目的地。如果您没有写入权限,则会引发IOError。它通过打开...

    当我们复制一个文件时用复制粘贴就可以了,如果是多个文件呢?就会很麻烦了,今天给大家介绍一下用Python批量复制文件,方法有九种!希望对你有帮助

    1. Shutil Copyfile()方法

    该方法只有在目标可写时才将源的内容复制到目的地。如果您没有写入权限,则会引发IOError。

    它通过打开输入文件进行阅读,忽略其文件类型。接下来,它不会对特殊文件进行任何不同的处理,也不会将它们复制为新的特殊文件。

    所述的CopyFile()方法利用较低级别的功能的copyfileobj()的下方。它将文件名称作为参数,打开它们并将文件句柄传递给copyfileobj()。该方法中有一个可选的第三个参数,您可以使用它来指定缓冲区长度。然后它将打开文件以读取指定缓冲区大小的块。但是,默认行为是一次性读取整个文件。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    以下是有关copyfile()方法的要点。

    它将源的内容复制到名为目标的文件。

    如果目的地不可写,则复制操作将导致IOError异常。

    如果源文件和目标文件都相同,它将返回SameFileError。

    但是,如果目的地以不同的名称预先存在,则副本将覆盖其内容。

    如果目的地是目录,则意味着此方法将不会复制到目录,将会发生错误13。

    它不支持复制文件,如字符或块设备和管道。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    2. Shutil Copy()方法

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    copy()方法的功能类似于"CP"在Unix命令。这意味着如果目标是一个文件夹,那么它将在其中创建一个与源文件相同的名称(basename)的新文件。此外,该方法将复制其内容后将目标文件的权限与源进行同步。 如果要复制相同的文件,它也会抛出SameFileError。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    3. Shutil Copyfileobj()方法

    此方法将文件复制到目标路径或文件对象。如果目标是文件对象,则需要在调用copyfileobj()之后明确关闭它。它假设一个可选参数(缓冲区大小),您可以使用它来提供缓冲区长度。这是在复制过程中保存在内存中的字节数。系统使用的默认大小为16KB。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    4. Shutil Copy2()方法

    但是,copy2()方法的功能类似于copy()。但是,在复制数据的同时,也可以在元数据中添加访问和修改时间。复制同一个文件会导致SameFileError。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    对于好奇 – Copymode()与Copystat()之间的区别。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    5. Os Popen()方法

    该方法创建一个指向或来自该命令的管道。它返回一个连接到管道的打开的文件对象。您可以根据文件打开模式(即'r'(默认)或'w')使用它进行读取或写入。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    模式 –它可以是'r'(默认)或'w'。

    fsize –如果其值为0,则不会发生缓冲。如果设置为1,则在访问文件时将进行行缓冲。如果您提供的值大于1,则缓冲将以指定的缓冲区大小进行。但是,对于负值,系统将采用默认缓冲区大小。

    对于Windows操作系统。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    对于Linux操作系统。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    6. Os System()方法

    它是运行任何系统命令的最常见方式。使用system()方法,可以在subshell中调用任何命令。在内部,这种方法会调用标准的C库函数。

    此方法返回命令的退出状态。

    对于Windows操作系统。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    对于Linux操作系统。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    7.以Async方式使用线程库的Python文件复制

    如果要以异步方式复制文件,请使用以下方法。在这里,我们使用Python的线程模块在后台运行复制操作。

    使用此方法时,请确保采用锁定以避免死锁。如果您的应用程序正在使用多个线程读取/写入文件,您可能会面对它。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    8.使用子进程的Call()方法在Python中复制一个文件

    子进程模块提供了一个简单的界面来处理子进程。它使我们能够启动子进程,附加到其输入/输出/错误管道,并检索返回值。

    子流程模块旨在替代传统模块和功能,如*os.system,os.spawn ,os.popen ,popen2。。

    它公开一个call()方法来调用系统命令来执行用户任务。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    9.使用子进程的Check_output()方法在Python中复制文件

    使用子进程的check_output()方法,可以运行外部命令或程序并捕获其输出。它还支持管道。

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    巧用Python:用Python批量复制文件,方法有9种!方便快捷

    学会了吗?

    展开全文
  • 批量复制文件.xlsm

    2020-04-10 16:19:03
    基坑监测工作中,我们要经常复制原始数据表及日报表文件,按不同的期次按序排序并录入数据。为了方便一次性生成多个报表,制作了这个VBA小程序,批量复制生成文件,同时按要求更改名称。
  • 使用 scp 命令批量复制文件

    万次阅读 2018-03-04 18:55:13
    使用 scp 命令批量复制文件 使用 scp 命令复制文件 命令格式 scp [参数] [原路径][目标路径] 这里默认端口为 22, 如果不使用默认端口, 需要通过 -p 参数指定端口号 从本地复制单个文件到服务器端 scp local_...
  • Python—批量复制文件

    2018-10-21 17:24:37
    批量复制文件,并修改后缀名  import os,shutil #yml文件根路径 ymlroot = 'E:\\GTEA_gaze\\' # 原始图片根路径 srcroot='E:\\GTEA_Gaze_Dataset\\png\\' # 目标图片根路径 dstroot='E:\\Gaze\\' for i in ...
  • android makefile文件批量复制文件的方法
  • 批处理、批量复制文件:复制文件夹及子文件下所有特定文件,并且复制存在特定文件的子文件夹 cls @echo ******************************************************************************************* @echo 复制...
  • Python批量复制文件

    2020-10-02 11:53:44
    目录前言一、解决过程1....应用shutil库复制文件到相应的文件夹下 2.代码及结果 代码如下: import os import shutil targe_path="E:\Python Books\Python编程:从入门到实践" path1="E:\\Python Books\\NewBoo
  • 批量复制文件工具 数据同步或照片文件等的同步,非常方便的批量复制功能
  • 无密码输入批量复制文件作用:批量复制:复制单个文件或者压缩包到多台服务器,无密码输入<我用着挺方便的>名称:scp_file.py环境:需要有Python,需要paramiko <在管理机上安装,一劳永逸>执行方式:./...
  • 卡死你3000简介:名词解释:批量顺序复制文件:从主控机,到从被控机1,被控机2,复制文件。有卡住问题。批量并发复制文件:从主控机,到从被控机1,被控机2,复制文件。使用多线程并发,可以控制并发数。并发复制,...
  • Java批量复制文件

    2020-08-05 17:35:54
    由于项目迁移,一些附件需要条件性的保留,写了下面的一段代码使用,也方便日后自己直接使用;... * 复制文件 * 两参数的格式为文件全路径信息,如:/opt/img/image.png * @param copy 复制 * @param past 粘
  • cmd命令之批量复制文件到多个不同文件名的文件
  • 批量复制文件-matlab实现

    千次阅读 2015-03-22 14:16:55
    虽然各种操作系统(Linux,Mac)都提供了一堆的批量复制文件的指令。但是对我们的需求,还是无能为力。因此,我们就简单地用matlab来实现一下。 函数定义 这个函数有四个参数: function flag = csvcp(src_file_...
  • java 批量复制文件并把路径插入到数据库表中; 包括:读取文件夹列表、子文件夹;新建一个文件夹;Oracle数据库链接; 修改一下链接数据库以及文件夹路径即可
  • 批量复制文件源码

    2015-12-15 01:09:30
    我的其他资源都是免费的,对于初学游戏者的帮助比较大的,其中有单片机,ARM,数据结构,window编程,MFC编程,cocos2dx,unity3d自己编写的小游戏。...博客里详细的说明了项目的编写过程,和游戏开发实用技术。...
  • 在windows上批量复制文件 在windows上从不同文件夹中复制作业卷到同一个文件夹。虽然可以使用windows的搜索功能进行搜索并复制,但是作业卷的名称都叫‘每日作业卷’,无法对其内容进行区分,想复制并添加文件前缀...
  • 使用批处理批量复制文件并重命名

    万次阅读 2017-06-04 11:25:44
    在工作中,有时候,需要把一个文件复制为多份,并且重新命令。比如,把20170603094607000.mp3复制100份,文件依次命名为20170603094607001.mp3 ~ 20170603094607100.mp3。  1、首先,生成文件列表,每一行记录一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,258
精华内容 1,703
关键字:

批量复制文件