精华内容
下载资源
问答
  • C# 拷贝文件夹(包含里面的所有文件) 思路:分2步: 1. 如果destDir存在,创建它。 2. 遍历sourceDir里的所有文件,把所有文件都复制到destDir /// /// Copy one folder to a new folder. if destDir is not...

    C# 拷贝文件夹(包含里面的所有文件)

    思路:分2步:

    1. 如果destDir不存在,创建它。

    2. 遍历sourceDir里的所有文件,把所有文件都复制到destDir


    /// <summary>
            /// Copy one folder to a new folder. if destDir is not exists, then create it.
            /// </summary>
            /// <param name="sourceDir"></param>
            /// <param name="destDir"></param>
            private static void CopyFolder(string sourceDir, string destDir)
            {
                if (!Directory.Exists(destDir))
                {
                    Directory.CreateDirectory(destDir);
                }
    
                try
                {
                    string[] fileList = Directory.GetFiles(sourceDir, "*");
                    foreach (string f in fileList)
                    {
                        // Remove path from the file name.
                        string fName = f.Substring(sourceDir.Length + 1);
    
                        // Use the Path.Combine method to safely append the file name to the path.
                        // Will overwrite if the destination file already exists.
                        File.Copy(Path.Combine(sourceDir, fName), Path.Combine(destDir, fName), true);
                    }
                }
    
                catch (DirectoryNotFoundException dirNotFound)
                {
                    throw new DirectoryNotFoundException(dirNotFound.Message);
                }
            }


    展开全文
  • 最近在开发的时候,接到一个任务:将自动化打包编译之后的项目资源做一个备份,因编译之后的资源包含.mainfest文件和.meat,实际出包使用的资源是需要这些文件的。所以备份的时候需要筛选掉后缀为.mainfest和.meat...

    最近在开发的时候,接到一个任务:将自动化打包编译之后的项目资源做一个备份,因编译之后的资源包含.mainfest文件和.meat,实际出包使用的资源是不需要这些文件的。所以备份的时候需要筛选掉后缀为.mainfest和.meat 的文件。

    说到底就是一个文件的复制、粘贴、筛选的操作。逻辑实现:

           public void CopyNewAssetBundleFolder() {
                //m_buildProjectPath 当前项目的路径
                //   sourceFilePath编译之后的资源目录路径
                string sourceFilePath = Path.Combine(m_buildProjectPath, "NewAssetBundle");
                //      saveFilePath 保存的文件夹路径
                string saveFilePath = Path.Combine(m_buildProjectPath, "FinalAssetBundle");
                if (Directory.Exists(sourceFilePath)) {
                    if (Directory.Exists(saveFilePath))  {
                        Console.WriteLine("删除已拷贝的FinalAssetBundle资源目录");
                       // DelectDir(saveFilePath);     //递归 删除指定的目录并(如果指示)删除该目录中的所有子目录和文件。
                        Directory.Delete(saveFilePath, true);   // 删除指定的目录并(如果指示)删除该目录中的所有子目录和文件。
                    }
                    Console.WriteLine("重新创建FinalAssetBundle资源目录");
                    CopyDirectory(sourceFilePath, Path.Combine(m_buildProjectPath, "FinalAssetBundle"));
                }
                else {
                    Console.WriteLine("NewAssetBundle 资源目录不存在");
                }

            }

             /// <summary>
            /// 拷贝资源目录
            /// </summary>
            public void CopyDirectory(string sourceDirPath, string saveDirPath)  {
                if (!Directory.Exists(saveDirPath)){
                    Directory.CreateDirectory(saveDirPath);
                }
                //获取源文件目录下的所有文件和子目录
                DirectoryInfo dir = new DirectoryInfo(sourceDirPath);
                FileSystemInfo[] fileinfo = dir.GetFileSystemInfos();
                foreach (FileSystemInfo i in fileinfo)  {
                    if (i is DirectoryInfo)    {  //判断是否是文件夹
                    CreateFileFolder(Path.Combine(sourceDirPath, i.Name), Path.Combine(saveDirPath, i.Name));
                    }
                    else {
                        string tmpFullName = i.FullName.ToLower();
                        if (i is FileInfo) {

        if (tmpFullName.EndsWith(".DS_Store",StringComparison.OrdinalIgnoreCase) 

    || tmpFullName.EndsWith(".manifest") || tmpFullName.EndsWith(".meta")) {

                            continue;
                            }
                            File.Copy(i.FullName, Path.Combine(saveDirPath, i.Name), true);
                        }
                    }
                }
            }


            private static void CopyFile(string sourceDirPath, string saveDirPath){
                if (!Directory.Exists(saveDirPath)) {
                    Directory.CreateDirectory(saveDirPath);
                }
                DirectoryInfo dir = new DirectoryInfo(sourceDirPath);
                FileSystemInfo[] fileinfo = dir.GetFileSystemInfos();
                foreach (FileSystemInfo i in fileinfo)    {
                    string tmpFullName = i.FullName.ToLower();
                    if (i is FileInfo)   {

           if (tmpFullName.EndsWith(".DS_Store", StringComparison.OrdinalIgnoreCase) 

    || tmpFullName.EndsWith(".manifest") || tmpFullName.EndsWith(".meta")) {

                            continue;
                        }
                        File.Copy(i.FullName, Path.Combine(saveDirPath, i.Name), true);
                    }
                    if (i is DirectoryInfo) {
                  CreateFileFolder(Path.Combine(sourceDirPath, i.Name), Path.Combine(saveDirPath, i.Name));
                    }
                }
            }

       public void DelectDir(string srcPath) {
                try {
                    DirectoryInfo dir = new DirectoryInfo(srcPath);
                    FileSystemInfo[] fileinfo = dir.GetFileSystemInfos();
                    foreach (FileSystemInfo i in fileinfo) {
                        if (i is DirectoryInfo) {
                            DirectoryInfo subdir = new DirectoryInfo(i.FullName);
                            subdir.Delete(true);
                        }
                        else {
                            File.Delete(i.FullName);
                        }
                    }
                }
                catch { }
            }



    展开全文
  • 要求是这样的:要求把一个文件夹文件夹下面的目录拷贝到指定的地方,但是我试了几次成功,就用了下面的方法   xcopy .\Temp\*.* F:\Bin\Temp\ /s /e xcopy .\Sample\*.* F:\Bin\Sample\ /s /e xcopy .\...

    要求是这样的:要求把一个文件夹及文件夹下面的目录拷贝到指定的地方,但是我试了几次不成功,就用了下面的方法

     

    xcopy .\Temp\*.*     F:\Bin\Temp\   /s /e 
    xcopy .\Sample\*.*   F:\Bin\Sample\ /s /e 
    xcopy .\Media\*.*    F:\Bin\Media\  /s /e 
    xcopy .\lut\*.* 	 F:\Bin\lut\    /s /e 
    xcopy .\Icon\*.*     F:\Bin\Icon\   /s /e 
    xcopy .\Dict\*.*     F:\Bin\Dict\   /s /e 

     

     

     

    展开全文
  • 网上大部分人的做法是遍历文件夹下每一个文件然后逐个拷贝。已验证效率比较地下。遂搜了一下是否有开源的项目已经实现了该功能。apache基金会有一个开源jar包commons-io已经实现了该功能。maven依赖&lt;...

    在开发过程中,遇到需要拷贝文件夹的需求。网上大部分人的做法是遍历文件夹下每一个文件然后逐个拷贝。已验证效率比较地下。遂搜了一下是否有开源的项目已经实现了该功能。

    apache基金会有一个开源jar包commons-io已经实现了该功能。

    maven依赖

    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.6</version>
    </dependency>

    可以在maven中央仓库(https://mvnrepository.com)中查找commons-io就能找到。

    实现文件夹拷贝功能很简单:

    org.apache.commons.io.FileUtils.copyDirectory(sourcePackageFile,destinationPackageFile);

    可以实现原文件夹到目标文件夹的拷贝工作。

    测试结果:

         1、文件夹拷贝300M左右可以在3到4秒之间完成(本机windows10,固态硬盘,8G内存)

         2、如果目标文件夹存在着和原文件夹同名的文件,则目标文件夹内容全部被覆盖

         3、如果目标文件夹中存在着原文件夹没有的文件,则目标文件夹会保留该文件(建议如果目标文件夹每次复制都要全部覆盖原来的操作)

    例如:1文件夹下有a ,b 文件    2文件夹下有a文件,c文件

    将1拷贝到2下。则2文件夹下有a,b,c三个文件。其中a文件发生了覆盖

    展开全文
  • 把一个文件夹内的所有文件拷贝的另一的文件夹,例如,在F盘中有a与b两个文件夹: f:/a里面有一堆文件,运行Java程序之后就会全部复制到f:/b,并且完成重命名,在所有文件之前加rename_的前缀,如果里面有...
  • /root将mysql配置文件上传到16服务器相应文件夹内scp root@192.168.33.16:/etc/mysql/my.cnf /etc/mysql将16服务器上的mysql配置文件下载到本地的相应文件夹下面ssh root@192.168.1.184 //ssh 登陆远程拷贝...
  • Qt拷贝文件文件夹、创建文件夹、删除文件夹操作 /** * @brief 拷贝文件到目的文件夹 * @param srcFileName 源文件全路径,比如 "F:/tx/wwxx.txt" ,"F:/tx/des/desd" * @param desFilePathName 要COPY到的目的...
  • 获取文件夹下文件名和完整路径: DirectoryInfo folder = new DirectoryInfo(aimpath); foreach (FileInfo file in folder.GetFiles()) { string filename=file.Name; string filefullname=file....拷贝文件夹
  • 1.首先想到的像这种情况应该使用批处理来操作。 2.先创建一个file.txt文件存放想要查找文件的名称(每个文件名称一行) 3.创建一个bat脚本 @for /f %%i in (file.txt) do if ...new文件夹是你要拷贝file.txt...
  • 把虚拟机的网络连接方式改成bridged方式以后,右键共享想要共享给windows XP的文件夹  不想固定ubuntu 的IP,每次查IP也很简单(ifconfig即可) ... 不过很郁闷,这个文件拷贝不出来,拷贝进去也没法拷贝。
  • 整个目录:gulp.task(‘copy’, function() { return gulp.src(‘src/*/‘) ...效果:保留static/jquery/路径信息,即拷贝后的文件路径是 dist/static/jquery/jquery.js1、在 gulp.src 加一个ba
  • 在java语言中,实现“将一个文件夹中的所有文件及子文件夹复制到另一个文件夹内”看上去并困难,但总会因为一些细节问题而不停地去排错。
  • 不能拷贝出来。网上找了很多办法其中一个办法:1. 打开终端输入 “ls -@eln 灰色文件路径”(这个路径可以直接拖入文件到终端自动填充)2. 复制显示结果中的"com.apple.FinderInfo"3. 执行命令 "...
  • android编译时拷贝文件文件夹

    千次阅读 2018-08-11 10:19:23
    拷贝文件 PRODUCT_COPY_FILES += device/qcom/msm8909/media/media_profiles_8909.xml:system/etc/media_profiles.xml 拷贝文件夹PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,$(LOCAL_PATH)/xxx,system/...
  • 把代码中Path下的文件复制到afterPath目录下 Sub copyFiles(Path As String, afterPath) 'Path:原文件夹路径;afterPath:目标文件夹路径 Dim Spath As String '下边的我自己也不是很理解,但是效果达成是莫得...
  • Qt笔记-windows下拷贝文件夹中所有文件

    千次阅读 多人点赞 2020-02-19 15:17:30
    递归函数,直接先找到最里面,把文件拷贝。然后逐步出来即可! 下面是代码: generatefile.h #ifndef GENERATEFILE_H #define GENERATEFILE_H #include <QObject> class GenerateF...
  • 主要是前段时间要从一个server上面拷贝一批数据,但是又不是linux,所以实验了一下windows下的批量...肯定不能改动文件的名字,就是拷贝到一个文件中,方便后期的文件查看、转移和分析,简单的说的话就是把存放数...
  • 现在有一个文件夹里面有很多子文件夹,每个子文件夹中有很多不同类型的图片,现在想将其所有.png图片整理出来,一开始我是手动拷贝的,拷贝了几个图片后,突然想能不能让计算机来自动完成此项功能,经过一番尝试,...
  • 只是简单地写了两个函数,第一个函数是将一...从下面的代码中也看出,我没有使用递归方法拷贝文件夹包含文件夹的情况,如果有需要,只需稍微修改代码即可。 public void copyFile(String strOldpath,String strN
  • 拷贝文件 PRODUCT_COPY_FILES += device/qcom/msm8909/media/media_profiles_8909.xml:system/etc/media_profiles.xml 拷贝文件夹 PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,$(LOCAL_PATH)/xxx,...
  • 但是当我通过自己的计算机向其中拷贝文件时却提示没有权限进行这样的操作,我只能从网络主机上拷贝文件到我的计算机上 这是因为这台网络主机上将来访者的权限进行了限制 通过以下方法解决(以下是在网络主机上的...
  • scp 需要复制的文件名(绝对路径) 目标地址:需要复制到的文件夹下。...意思是将本地bbs文件夹下的文件 拷贝到 用户名为:wangzhibo IP地址为:192.168.1.1 跟目录下的home目录下的www下的bbs文件夹下 其命令格式
  • java文件搜索 public void getDir(String strPath) throws Exception { try { File f=new File(strPath); if(f.isDirectory()) { File[] fList=f.listFiles();
  •  使用该函数进行文件拷贝、移动或删除时,如果需要的时间很长,则程序会自动在进行的过程中出现一个无模式的对话框(Windows操作系统提供的文件操作对话框),用来显示执行的进度和执行的时间,以及正在拷贝、移动...
  • 项目中需要拷贝Asset目录下的所有文件,因为Asset目录是只读的,操作起来不是很方便,上网搜了一些方法并不是很有效,记录一下最后的解决方案://path - asset下文件(夹)名称 destinationPath - 目的路径`private ...
  • 代码 srcpath= 'F:\HeartMultiAtlas\MM-WHS2017\OrCa2\ct_atlas\'; dstpath=' F:\ResData\mask\ '; filename=' * LV. nii' ; fdt = dir( [srcpath filename] ...% 目标文件全路径名 ...% 拷贝文件 end end
  • Java编写文件夹复制程序,复制文件夹里面的所有的子文件夹和文件,格式按原样输出。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 124,176
精华内容 49,670
关键字:

如何让文件夹里面的文件不能被拷贝