批处理,如何获取当前文件夹下所有文件的路径并复制到另一个文件夹下

批处理,如何获取当前文件夹下所有文件的路径并复制到另一个文件夹下,第1张

我假设你要复制文件夹D:\ABC下所有的文件,包括子目录下的文件到D盘的CBA文件夹中。

新建文本文件,输入:XCOPY D:ABC\ D:\CBA /S

文件另存为1bat文件,保存类型选择所有文件。

注意:如果文件夹中有空格,则要用双引号把路径括起来。

public class TestFile {

public static void main(String[] args) {

new TestFile()showFile("路径");//匿名对象 }

//读取所有文件和文件夹

public void showFile(String dir){

File f = new File(dir);

File fs[] = flistFiles();//系统文件返回null

int num1=0;//文件

int num2=0;//目录

if(fs!=null){

for(int i=0;i<fslength;i++){

File currentFile = fs[i];

if(currentFileisFile()){//文件,直接显示

num1+=1; }

else{ num2+=1; showFile(currentFilegetAbsolutePath());/是目录的时候,继续调用方法,读取文件和文件夹

}

}

}

Systemoutprintln("文件数"+num1);

Systemoutprintln("目录数"+num2);

}

}

ls-l/ls-aldu-b/du-klinux的du命令1简介du(showdiskuseage)查看磁盘使用情况2语法du[-abcDhHklmsSx][-L][-X][--block-size][--exclude=][--max-depth=][--help][--version][目录或文件]常用参数:-a或-all为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。-b或-bytes显示目录或文件大小时,以byte为单位。-c或–total除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。-D或–dereference-args显示指定符号连接的源文件大小。-h或–human-readable以K,M,G为单位,提高信息的可读性。-H或–si与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。-k或–kilobytes以1024bytes为单位。-l或–count-links重复计算硬件连接的文件。-L或–dereference显示选项中所指定符号连接的源文件大小。-m或–megabytes以1MB为单位。-s或–summarize仅显示总计,即当前目录的大小。-S或–separate-dirs显示每个目录的大小时,并不含其子目录的大小。-x或–one-file-xystem以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。-X或–exclude-from=在指定目录或文件。–exclude=略过指定的目录或文件。–max-depth=超过指定层数的目录后,予以忽略。–help显示帮助。–version显示版本信息。3du命令使用示例1>要显示一个目录树及其每个子树的磁盘使用情况du/home/linux这在/home/linux目录及其每个子目录中显示了磁盘块数。2>要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况du-k/home/linux这在/home/linux目录及其每个子目录中显示了1024字节磁盘块数。3>以MB为单位显示一个目录树及其每个子树的磁盘使用情况du-m/home/linux这在/home/linux目录及其每个子目录中显示了MB磁盘块数。4>以GB为单位显示一个目录树及其每个子树的磁盘使用情况du-g/home/linux这在/home/linux目录及其每个子目录中显示了GB磁盘块数。5>查看当前目录下所有目录以及子目录的大小:du-h“”代表当前目录下。也可以换成一个明确的路径-h表示用K、M、G的人性化形式显示6>查看当前目录下user目录的大小,并不想看其他目录以及其子目录:du-shuser-s表示总结的意思,即只列出一个总结的值du-h–max-depth=0user–max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。7>列出user目录及其子目录下所有目录和文件的大小:du-ahuser-a表示包括目录和文件8>列出当前目录中的目录名不包括xyz字符串的目录的大小:du-h–exclude=’xyz’9>想在一个屏幕下列出的关于user目录及子目录大小的信息:du-0huser-0(杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。10>只显示一个目录树的全部磁盘使用情况du-s/home/linux-------------------------------------------------------------------------------------------------------------------------------------------------------------------LinuxLS命令详细介绍lsls命令可以说是linux下最常用的命令之一。它有众多的选项,其中有很多是很有用的,你是否熟悉呢?下面列出了ls命令的绝大多数选项。-a列出目录下的所有文件,包括以开头的隐含文件。-b把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。-c输出文件的i节点的修改时间,并以此排序。-d将目录象文件一样显示,而不是显示其下的文件。-e输出时间的全部信息,而不是输出简略信息。-f-U对输出的文件不排序。-g无用。-i输出文件的i节点的索引信息。-k以k字节的形式表示文件的大小。-l列出文件的详细信息。-m横向输出文件名,并以“,”作分格符。-n用值UID,GID代替名称。-o显示文件的除组信息外的详细信息。-p-F在每个文件名后附上一个字符以说明该文件的类型,“”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。-q用代替不可输出的字符。-r对目录反向排序。-s在每个文件名后输出该文件的大小。-t以时间排序。-u以文件上次被访问的时间排序。-x按列输出,横向排序。-A显示除“”和“”外的所有文件。-B不输出以“~”结尾的备份文件。-C按列输出,纵向排序。-G输出文件的组的信息。-L列出链接文件名而不是链接到的文件。-N不限制文件长度。-Q把输出的文件名用双引号括起来。-R列出所有子目录下的文件。-S以文件大小排序。-X以文件的扩展名(最后一个后的字符)排序。-1一行只输出一个文件。--color=no不显示彩色文件名--help在标准输出上显示帮助信息。--version在标准输出上输出版本信息并退出。只列出子目录1ls-F|grep/$或者aliassub="ls-F|grep/$"(linux)2ls-l|grep"^d"或者ls-lL|grep"^d"(Solaris)计算当前目录下的文件数和目录数下面命令可以分别计算当前目录下的文件和目录个数:#ls-l|grep"^-"|wc-l----tocountfiles#ls-l|grep"^d"|wc-l-----tocountdir显示彩色目录列表打开/etc/bashrc,加入如下一行:aliasls="ls--color"下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了,其中颜色的含义如下:1蓝色-->目录2绿色-->可执行文件3红色-->压缩文件4浅蓝色-->链接文件5灰色-->其他文件ls-tl--time-style=full-isosshdls-ctl--time-style=long-iso-------------------------------------------------------------------------------------------------------------------------------------------------------------------附:du-sh查看当前文件夹大小du-sh|sort-n统计当前文件夹(目录)大小,并按文件大小排序附送:du-skfilename查看指定文件大小Linux:ls以K、M、G为单位查看文件大小Linux:ls以K、M、G为单位查看文件大小。#manls……-h,--human-readableprintsizesinhumanreadableformat(eg,1K234M2G)……#lscusswarnohupout#ls-ltotal30372-rw-r--r--1rootroot31051909May2410:07cusswar-rw-------1rootroot0Mar2013:52nohupout#ls-lhtotal30M-rw-r--r--1rootroot30MMay2410:07cusswar-rw-------1rootroot0Mar2013:52nohupout#ll-htotal30M-rw-r--r--1rootroot30MMay2410:07cusswar-rw-------1rootroot0Mar2013:52nohupout[root@localhostrice_f2]#ls-lhs总计28G15G-rw-r--r--1rootroot15G06-0414:35alltxt80K-rwx--x--x1rootroot63206-0415:57hashpl371M-rw-r--r--1rootroot371M06-0318:061fa360M-rw-r--r--1rootroot359M06-0318:072fna80K

获取一个目录下的所有文件和目录方法:

import javaioFile;

public class FileTest {

    public static void main(String[] args) {

        /

          将目标目录封装成 File 对象。

         /

        File dir = new File("/Users/zym/Desktop/Mac应用程序");

        /

          获取目录下的所有文件和文件夹

         /

        String[] names = dirlist();

        for (String name : names) {

            Systemoutprintln(name);

        }

    }

}

通过文件过滤器获取某个目录下的文件,例如所有的 txt、doc文件。

过滤器:

import javaioFile;

import javaioFilenameFilter;

public class FilterByDoc implements FilenameFilter {

    @Override

    public boolean accept(File dir, String name) {

        return nameendsWith("doc");

    }

}

获取某个目录下的按照过滤器规则的所有文件:

import javaioFile;

public class FileTest {

    public static void main(String[] args) {

        /

          将目标目录封装成 File 对象。

         /

        File dir = new File("/Users/zym/Desktop/Mac应用程序");

        /

          通过过滤器获取目录下的所有的 doc 文件

         /

        String[] names = dirlist(new FilterByDoc());

        for (String name : names) {

            Systemoutprintln(name);

        }

    }

}

希望能对您有所帮助!

static List<string> list = new List<string>();//定义list变量,存放获取到的路径

public static List<string> getPath(string path)

{

DirectoryInfo dir = new DirectoryInfo(path);

FileInfo[] fil = dirGetFiles();

DirectoryInfo[] dii = dirGetDirectories();

foreach (FileInfo f in fil)

{

listAdd(fFullName);//添加文件的路径到列表

}

//获取子文件夹内的文件列表,递归遍历

foreach (DirectoryInfo d in dii)

{

getPath(dFullName);

listAdd(dFullName);//添加文件夹的路径到列表

}

return list;

}

调用此函数需要传入指定的文件夹路径,如 D:\MyFile 可以将该文件夹下的文件和子文件夹路径全部获取,并利用递归,获取子文件夹内所有内容。

登录Linux系统之后打开终端,确定你要找关键字的目录。我这里就拿root用户来做演示。

2

查看下当前目录下所有的文件,你所要找的关键字就在当前目录下某个文件里面。

3

假如我这里要找的关键字是456,到底他位于哪个文件里面呢?首先我们要先确定是文件,而不是文件夹。

find -type f -print这个命令可以列出当前目录下的所有文件。

4

type后面的f是file的意思,所以只列出文件,而排除文件夹。

5

接下来只要在find命令后面加上exec命令就可以实现。

find -type f -print -exec grep 456 {} \;

在查询结果中可以看到456在btxt文件里面出现。

6

exec的意思就是执行find里面的结果,{}用来接收find的结果。注意后面要加上{} \;

66

以上就是关于批处理,如何获取当前文件夹下所有文件的路径并复制到另一个文件夹下全部的内容,包括:批处理,如何获取当前文件夹下所有文件的路径并复制到另一个文件夹下、如何获取一个目录下有多少个文件 java、如何获取目录下的文件数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9339418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存