取得硬盘指定目录下文件名
快速批量提取文件夹中次级文件夹及文件名称的技巧
快速批量提取文件夹中次级文件夹及文件名称的技巧技巧:首先调出MS-DOS窗:win+R ->cmd ->回车。
方法一:tree命令命令提示符下:tree (要获得文件名的文件夹的路径)/f>(列表文件存放的路径及文件名/filename)注意:“/f>”前面的空格不可少!例如:要获得D盘下的所有文件的文件名,并将生成的文件保存到D盘,文件名为123.txt。
可使用如下命令tree D: /f>D:/123.txt方法二:dir命令dir c:\ >d:\123.txt将C盘根目录里的文件夹名和文件名都保存在D盘目录下的123.txt里。
此文件可导入excel作进一步处理。
dir可加参数/w 等。
(加下划线的这条是原作者[1]写的,我还没试过……)也可以先在命令提示符下进入某文件夹,然后输入:dir>> list.txt回车,目录列表就到list.txt这个文件里了。
小提示:可以先在记事本中写好,将其粘贴(注意:不能用Ctrl+V)到cmd.exe程序中。
例:将下列复制到cmd.exe中即可tree D: /f>D:/123.xlstree命令和dir命令的区别:1、tree能够以字符画的样式清晰的表明所有次级文件夹和文件(包括次级文件夹中的文件)的名称、存储位置隶属关系,而dir只能列出二级子文件夹的名称和根目录下文件的名称;2、dir能显示各二级子文件夹和根目录下文件的最后修改时间(从年到分钟),tree不能;3、dir能分类统计二级子文件夹和根目录下文件各自的个数及总体积(单位:字节),tree不能;4、tree生成的列表文件体积比dir生成的大(由第1条区别也可猜出这一点)。
从文件夹提取文件夹名称的方法
从文件夹提取文件夹名称的方法
从文件夹提取文件夹名称的方法有以下几种:
1. 使用操作系统自带的文件管理器。
在Windows操作系统中,可以打开File Explorer,找到要提取名称的文件夹,右键单击文件夹并选择“属性”,然后在“常规”选项卡中查看文件夹名称。
在Mac操作系统中,可以打开Finder,找到要提取名称的文件夹,右键单击文件夹并选择“信息”,然后在“名称和扩展名”中查看文件夹名称。
2. 直接复制法。
如果你是Win10用户,可以使用文件管理器中的“复制路径”功能。
只需选中所有文件,点击窗口菜单,主页下面的“复制路径”按钮,将所选文件的完整文件名(含文件路径)复制到系统剪贴板中,然后粘贴到Excel即可。
之后需要清除文件路径,打开替换窗口【Ctrl H】,再将
文件路径复制粘贴到查找内容一栏,替换为空,然后点击【全部替换】。
按下按钮以后,瞬间就能得到全部照片的名称(含后缀)。
3. Chrome浏览器法。
其他系统的用户,只要电脑上安装了Chrome浏览器,同样可以轻松提取文件清单。
以上方法仅供参考,可以根据自己的需求和实际情况选择合适的方法。
快速提取文件名称的方法
快速提取文件名称的方法如何快速提取文件名称在日常工作和生活中,我们经常会遇到需要提取文件名称的情况。
无论是进行文件管理、数据分析还是编程开发,准确快速地提取文件名称都是非常重要的。
下面将介绍几种常用的方法,帮助大家轻松解决这个问题。
一、使用文件管理器文件管理器是最简单直接的方法,只需要在文件管理器中选中需要提取文件名称的文件,然后复制文件名称即可。
在Windows操作系统中,可以使用快捷键Ctrl+C实现复制文件名称的功能。
在Mac操作系统中,则是使用快捷键Cmd+C。
这种方法适用于少量文件的提取,操作简单方便。
二、使用命令行对于需要处理大量文件的情况,使用命令行会更加高效。
在Windows操作系统中,可以使用dir命令来列出当前目录下的文件列表,然后将结果复制到剪贴板。
具体操作如下:1. 打开命令提示符,进入到需要提取文件名称的目录;2. 输入dir命令,回车后会列出当前目录下的文件列表;3. 将需要提取的文件名称逐一选中,然后点击鼠标右键,选择复制,即可将文件名称复制到剪贴板。
在Mac和Linux操作系统中,使用ls命令可以实现类似的功能。
具体操作如下:1. 打开终端,进入到需要提取文件名称的目录;2. 输入ls命令,回车后会列出当前目录下的文件列表;3. 将需要提取的文件名称逐一选中,然后点击鼠标右键,选择复制,即可将文件名称复制到剪贴板。
三、使用编程语言如果需要进行更加复杂的文件名称提取操作,或者需要自动化处理大量文件,可以使用编程语言来实现。
以下以Python语言为例,介绍如何快速提取文件名称。
1. 使用os模块中的listdir函数获取当前目录下的文件列表;2. 遍历文件列表,使用os.path模块中的basename函数提取文件名称;3. 将文件名称保存到一个列表中,便于后续的处理。
具体代码如下:```pythonimport osfile_names = []for file in os.listdir('.'):if os.path.isfile(file):file_names.append(os.path.basename(file))print(file_names)```以上代码将会列出当前目录下的所有文件名称,并输出到控制台。
提取文件夹下特定名字文件的命令
提取文件夹下特定名字文件的命令一、引言在日常的电脑使用中,我们常常需要从一个文件夹中提取出特定名字的文件。
这个需求可能由各种情况引起,比如整理文件、筛选特定类型或格式的文件等。
为了高效地完成这一任务,我们需要了解一些命令行中提取文件夹下特定名字文件的命令。
本文将为您介绍几个常用的命令,并提供一些使用示例,帮助您更好地掌握这些命令的使用方法。
二、命令介绍 1. find命令 find命令是Linux和Unix系统中一个非常强大的文件搜索工具,它可以根据指定的条件在一个或多个目录中搜索文件。
在提取文件夹下特定名字文件的场景中,我们可以使用find命令来实现。
find命令的基本语法如下:find <目录> -name <文件名>其中,<目录>表示要搜索的目录,<文件名>表示要搜索的文件名。
以下是一些使用find命令提取文件夹下特定名字文件的示例:示例1:搜索当前目录下名为”example.txt”的文件find . -name example.txt示例2:搜索当前目录及其子目录下名为”*.pdf”的文件find . -name "*.pdf"2.grep命令 grep命令是一个强大的文本搜索工具,它可以根据指定的模式在文件中搜索匹配的行。
虽然它主要用于搜索文件的内容,但也可以用于提取文件夹下特定名字的文件。
grep命令的基本语法如下:grep "<文件名模式>" <目录>其中,<文件名模式>表示要搜索的文件名模式,<目录>表示要搜索的目录。
以下是一些使用grep命令提取文件夹下特定名字文件的示例:示例1:搜索当前目录下以”example”开头的文件grep "^example" .示例2:搜索当前目录及其子目录下以”.txt”结尾的文件grep ".txt$" .3.ls命令结合通配符 ls命令是用于列出目录内容的命令,通过结合通配符,我们可以利用ls命令提取文件夹下特定名字的文件。
批处理提取路径中的文件名
批处理提取路径中的文件名批处理是一种在Windows操作系统中使用的脚本语言,它可以自动化执行一系列命令和操作。
在批处理中,我们经常需要从文件路径中提取文件名作为标题。
本文将介绍如何使用批处理来实现这一功能。
我们需要了解一下文件路径的结构。
在Windows系统中,文件路径通常由驱动器名、文件夹路径和文件名组成。
例如,C:\Users\Administrator\Desktop\example.txt是一个典型的文件路径,其中C是驱动器名,\Users\Administrator\Desktop是文件夹路径,example.txt是文件名。
要提取文件名,我们可以使用批处理中的字符串处理函数。
具体来说,我们可以使用%~n1来提取第一个参数的文件名部分。
下面是一个简单的示例:```@echo offset filepath=C:\Users\Administrator\Desktop\example.txtfor %%i in ("%filepath%") do (set filename=%%~ni)echo 文件名为:%filename%```在上面的示例中,我们首先定义了一个变量filepath,它存储了文件的路径。
然后,我们使用for循环和字符串处理函数%~n1来提取文件名,并将其存储在变量filename中。
最后,我们使用echo 命令将文件名输出到屏幕上。
除了提取单个文件名,我们还可以提取文件夹路径中的文件名。
例如,如果我们有一个文件路径C:\Users\Administrator\Desktop\example\example.txt,我们可以使用%~nx1来提取文件夹路径中的文件名。
下面是一个示例:```@echo offsetfilepath=C:\Users\Administrator\Desktop\example\example.t xtfor %%i in ("%filepath%") do (set folderpath=%%~dpiset filename=%%~nxi)echo 文件夹路径为:%folderpath%echo 文件名为:%filename%```在上面的示例中,我们使用%~dpi来提取文件夹路径中的文件名,并将其存储在变量folderpath中。
快速批量提取文件名的方法
快速批量提取文件名的方法
1. 使用命令行工具。
在Windows系统中,你可以使用命令行工具来批量提取文件名。
打开命令提示符窗口,进入到你存放文件的目录,然后输入命令
“dir /b > filename.txt”,这个命令将会把当前目录下的所有文
件名提取出来,并保存到一个名为filename.txt的文本文件中。
2. 使用Python脚本。
如果你熟悉Python编程,你可以写一个简单的脚本来批量提取
文件名。
使用os模块中的listdir方法可以列出指定目录下的所有
文件和文件夹,然后你可以将这些文件名写入到一个文本文件中。
3. 使用文件管理软件。
一些文件管理软件也提供了批量提取文件名的功能。
例如
Total Commander、Free Commander等,它们可以让你在文件列表
中选择多个文件,然后将它们的文件名复制到剪贴板,以便你将它
们粘贴到其他地方。
无论你选择哪种方法,快速批量提取文件名都可以帮助你节省大量时间和精力。
希望这些方法能够帮助到你,让你的文件管理工作更加高效和便捷。
批量读取电脑各个硬盘下的文件名称的命令
批量读取电脑各个硬盘下的文件名称的命令在日常使用电脑的过程中,我们经常需要查找电脑硬盘下特定文件的名称,这对于整理文件、查找资料非常有帮助。
本文将介绍一些常用的命令,可以批量读取电脑各个硬盘下的文件名称,方便我们快速找到所需文件。
1. dir命令dir命令是Windows系统中常用的命令之一,可以列出指定目录下的所有文件和子目录。
我们可以通过组合使用dir命令和通配符来批量读取电脑各个硬盘下的文件名称。
例如,要批量读取C盘下所有文件的名称,可以在命令提示符窗口中输入以下命令:```dir C:\ /s /b > C:\filelist.txt```其中,/s参数表示递归搜索子目录,/b参数表示仅列出文件名,>操作符将输出结果重定向到指定文件filelist.txt中。
2. find命令在Windows系统中,find命令可以搜索指定文本字符串,并将包含该字符串的行输出到命令提示符窗口。
我们可以结合find命令和dir命令来批量读取电脑各个硬盘下包含特定文件名的文件。
例如,要批量读取电脑各个硬盘下包含关键字“report”的文件名称,可以在命令提示符窗口中输入以下命令:```dir /s /b | find "report" > C:\reportlist.txt```其中,|操作符将dir命令的输出结果传递给find命令进行筛选,结果将重定向到指定文件reportlist.txt中。
3. PowerShell命令PowerShell是Windows操作系统中的一种脚本语言和命令行解释器,功能强大且灵活。
我们可以使用PowerShell命令来批量读取电脑各个硬盘下的文件名称。
例如,要批量读取电脑各个硬盘下所有文件的名称,可以在PowerShell窗口中输入以下命令:```Get-ChildItem -Path C:\ -Recurse | Select-Object -ExpandProperty Name > C:\filelist.txt```其中,Get-ChildItem命令用于获取指定路径下的所有文件和子目录,-Recurse参数表示递归搜索子目录。
Windows中快速获取文件目录的几种方法
Windows中快速获取文件目录的几种方法计算机使用时间越长,硬盘中保存的文件就会越来越多,如果不对这些众多的文件创建合适的目录,那么日后要寻找某个文件将变得非常困难。
为了提高文件定位的速度,许多人都用手工复制文件名的方法创建了文件目录,不过这种方法在文件数量不多的情况下还能凑合,但如果计算机中存在的文件太多的话,那用这种方法生成文件目录时效率就十分低下了。
有鉴于此,笔者特意总结了如下几则快速生成文件目录的技巧,仅供各位参考交流!借用ACDSEE,自动生成文件目录通常情况下,我们的计算机中都会装有ACDSEE之类的看图软件,不要以为该软件只能帮助我们快速浏览图象哟,其实它还有许多鲜为人知的用处,这不现在笔者就用它来快速获取指定文件夹下面的所有文件目录名。
用鼠标双击系统桌面上的ACDSEE快捷图标,打开ACDSEE程序界面;在该界面左侧区域找到需要生成文件目录的指定文件夹,然后用鼠标将它选中,随后我们就能在该界面的右侧区域看到指定文件夹下面的所有文件内容;下面,单击ACDSEE程序界面中的“工具”菜单项,从弹出的下拉菜单中执行“选项”命令,在其后弹出的选项设置窗口中单击“文件列表”标签,打开如图1所示的标签页面。
在该页面“可选项”设置项处,选中“显示隐藏文件”选项,再单击“确定”按钮,这样就能确保ACDSEE程序能把隐藏文件的名称也列写在文件目录中了;图1接下来依次单击菜单栏中的“工具”/“生成文件列表”命令,随后屏幕会自动弹出记事本窗口,将指定文件夹中的所有文件名称列写成目录,此时我们可以依次单击记事本窗口中的“文件”/“保存”菜单项,以便将ACDSEE程序自动生成的文件目录保存到自己的私人文件夹中,以后需要查找文件时,只要打开该文件目录就能实现快速定位文件的目的了。
由这种方法自动生成的文件目录,包括文件后缀名、文件名、文件大小等,整个目录看上去既简洁又明了,其中“[]”里的内容是没有展开的子文件夹名。
Excel也能批量提取文件夹中的文件名,操作也不难,人人可会
Excel也能批量提取文件夹中的文件名,操作也不难,人人可
会
实际的工作中,各种各样的需求都会遇到,比如,快速提取指定文件夹中的文件名,除了一个个去复制之外,也可以在Excel中批量提取。
一、复制路径+替换法。
方法:
1、选中指定文件夹中的任意文件,快捷键Ctrl+A全选。
2、单击【主页】菜单【剪切板】组中的【复制路径】。
3、用Ctrl+V在Excel中的目标单元格中粘贴。
此时的内容并不是文件名,而是完整的路径。
4、快捷键Ctrl+H打开【查找和替换】对话框,在【查找内容】中输入:*\并【全部替换】。
5、之后单击【确定】-【关闭】即可。
解读:
此方法的关键在于将\前的内容替换为空值,所以用通配符*来代替\前的内容。
二、巧用PQ来获取。
方法:
1、在任意新建的工作表中,单击【数据】菜单中【获取和转换数据】组中的【获取数据】-【来自文件】-【从文件夹】。
2、打开【浏览】对话框,找到存放文件的文件夹之后,单击【打开】命令。
3、然后选择【加载】。
4、选中出Name外的所有列并删除。
5、依次单击【表设计】菜单中【外部表数据】组中的【取消链接】即可。
解读:
此方法需要在2016及以上版本或者安装了Power Query插件的Excel中进行,否则无法得到想要的结果哦!
最美尾巴:
此文中介绍的2中获取文件名的方法,不需要函数公式,只需动动鼠标,就能获取对应的文件名,是不是特别的方便?只需按照操作步骤一步步的操作即可完成!。
提取当前文件夹下所有文件名,或当前文件夹及其子目录下所有文件名到xls里
提取当前⽂件夹下所有⽂件名,或当前⽂件夹及其⼦⽬录下所有
⽂件名到xls⾥
核⼼代码:dir *.*/b(s)>a.xls
1、新建txt⽂本⽂件
2、在⽂本⽂件内写⼊dir *.*/b>a.xls,保存并关闭
3、查看⽂本⽂件的后缀名,把txt后缀改为以bat后缀的⽂件,保存更改,此时⽂件图标会显⽰⼀个锯齿状
4、双击运⾏
5、命令讲解
如果把/b改为/s,指提取当前⽬录及其⼦⽬录下所有⽂件名
dir
显⽰⽬录⽂件和⼦⽬录列表。
可以使⽤通配符( ? 和 * ),?表通配⼀个字符,* 表通配任意字符 *.后缀。
指定要查看后缀的⽂件。
上⾯其实也可以为“.后缀”,例如dir *.exe 等于dir .exe。
参数/p: 每次显⽰⼀个列表屏幕。
要查看下⼀屏,请按键盘上的任意键。
参数/w: 以宽格式显⽰列表,在每⼀⾏上最多显⽰5个⽂件名或⽬录名。
参数/s: 列出指定⽬录及所有⼦⽬录中出现的每个指定的⽂件名。
⽐win环境下的查找快多了
dir *.* >a.txt把当前⽬录⽂件列表写⼊a.txt。
dir *.* /s > a.txt把当前⽬录⽂件列表写⼊a.txt,包括⼦⽬录下⽂件。
直接提取文件夹文档名称的方法
直接提取文件夹文档名称的方法在日常工作和生活中,我们经常会遇到需要提取文件夹内所有文档名称的情况。
有时候我们可能需要进行批量文件处理、文件管理或者是整理工作。
那么,如何快速高效地提取文件夹内的文档名称呢?下面将介绍几种常用的方法。
一、使用Windows资源管理器提取文件夹文档名称的方法在Windows操作系统中,我们可以使用资源管理器来实现提取文件夹内文档名称的操作。
具体步骤如下:1. 打开Windows资源管理器。
你可以通过点击操作系统任务栏的“我的电脑”或“此电脑”图标来打开资源管理器。
2. 导航到目标文件夹。
在资源管理器左侧的导航栏中,选择包含目标文件夹的磁盘驱动器,然后依次展开文件夹路径,找到目标文件夹。
3. 选择并复制文件夹内所有文档名称。
在目标文件夹内,按住Ctrl键并点击每个文档,或者点击并框选需要提取的文档,然后按下Ctrl+C键复制这些文档的名称。
4. 粘贴文档名称到目标位置。
打开一个文本编辑器(如Notepad),然后按下Ctrl+V键粘贴之前复制的文档名称。
这样就完成了提取文件夹文档名称的方法。
二、使用命令提示符提取文件夹文档名称的方法除了使用Windows资源管理器,我们还可以通过命令提示符来提取文件夹内的文档名称。
下面是具体步骤:1. 打开命令提示符。
你可以在开始菜单中搜索“命令提示符”或“cmd”,然后点击打开。
2. 进入目标文件夹。
在命令提示符中,使用“cd”命令进入目标文件夹。
例如,如果目标文件夹位于D盘的Documents文件夹内,你可以输入命令“cdD:\Documents”来切换到该文件夹。
3. 提取文件夹内的文档名称。
在命令提示符中,输入命令“dir /b > 文档名称.txt”来提取文件夹内文档的名称,并将结果保存到一个文本文件中。
4. 查看提取结果。
使用文本编辑器打开刚才保存的文本文件,你就能看到文件夹内所有文档的名称了。
三、使用批处理脚本自动化提取文件夹文档名称的方法如果你需要频繁地进行这种提取操作,使用批处理脚本可以帮助你实现自动化。
提取电脑磁盘文件目录方法
提取磁盘文件目录用久了以后,文件越来越多,越来越乱,就很难定位硬盘中的文件,假如为整个分区或者是某个文件夹制作一个文件目录清单,将会为我们的工作带来很大的方便。
几种提取文件目录的方法。
一、用DOS命令TreeTree是Windows操作系统专门用来以图形方式显示驱动器或路径的文件夹结构的命令,它是DOS命令,它显示的文件目录按照树型显示,非常的直观,就像一个分支表。
命令格式为:Tree [drive:][path] [/f] [/a],各参数的分别为:drive表示要显示目录结构的磁盘的驱动器。
path 表示要显示目录结构的目录。
/f 表示显示每个目录中的文件名。
/a 表示命令使用文本字符而不是图形字符显示链接子目录的行。
这里我们利用定向符“>”将显示的目录结构输出到一个文本文件中,这样我们就可以随时打开文件对目录结构进行浏览。
例如:Tree c: >c:ist.txt /f命令的意思是将C盘下的所有文件列表保存在C盘根目录下的list.txt文件。
二、用DOS命令Dir我们都知道Dir命令是显示文件和目录的命令,是我们用得最多的DOS 命令之一,其实我们可以巧妙地利用定向符,将显示的结果保存到一个文件中。
Dir命令有很多参数开关,这里只介绍对于提取目录很重要的两个参数“/s”和“/a”,前者表示显示指定目录和子目录下的所有文件,后者表示显示目录下所有文件的名称,包括隐藏文件和系统文件。
例如:Dir c: /s /a >c:ist.txt命令表示将C盘下的文件和子目录下的所有文件(包括隐藏和系统文件)列表保存到C盘根目录下的list.txt文件中。
Dir在保存文件目录时,还会保存文件的日期、创建时间、文件大小等信息(如图2)。
用工具软件TreeCopyTreeCopy是一个专门用来拷贝目录结构的工具,它可以将一个文件夹的结构拷贝到另一个文件夹中,而不拷贝内容,这样在创建相同结构文件夹时会方便我们的工作。
批量提取文件名称的方法
批量提取文件名称的方法在日常工作和生活中,我们经常需要处理大量的文件,如何快速有效地提取文件名称是一个常见的问题。
本文将介绍一些常用的方法,帮助大家解决这个问题。
一、使用命令行工具1. 使用dir命令(适用于Windows系统):在命令行中输入dir命令,加上参数/a-d,可以列出当前文件夹中的所有文件名称,不包括文件夹名称。
通过重定向操作符">",可以将结果输出到一个文本文件中,然后再进行提取。
例如:dir /a-d > filelist.txt2. 使用ls命令(适用于Unix/Linux系统):在终端中输入ls命令,加上参数-I,可以排除文件夹名称,只列出文件名称。
通过重定向操作符">",可以将结果输出到一个文本文件中,然后再进行提取。
例如:ls -I "*/" > filelist.txt二、使用脚本或编程语言1. 使用Python脚本:Python提供了丰富的文件操作函数和正则表达式功能,可以方便地提取文件名称。
可以使用os模块的listdir 函数列出当前文件夹中的所有文件和文件夹,然后使用re模块的正则表达式函数进行提取。
例如:import osimport refilelist = os.listdir('.')pattern = pile(r'[^/\\]*$')for filename in filelist:match = pattern.search(filename)if match:print(match.group())2. 使用批处理脚本(适用于Windows系统):批处理脚本是一种简单的脚本语言,可以使用一些内置的命令和变量来处理文件。
可以使用for循环和变量来遍历当前文件夹中的所有文件,并使用批处理的字符串处理函数来提取文件名称。
例如:@echo offfor %%i in (*) do (echo %%~ni)三、使用文件管理工具1. 使用文件管理器的搜索功能:现代操作系统的文件管理器通常都提供了搜索功能,可以通过关键字搜索文件名称,并将结果导出到一个文本文件中。
dir提取文件多层文件夹名和文件名
dir提取文件多层文件夹名和文件名dir命令是一个常用的Windows操作系统命令。
它用于显示指定目录中的文件和子目录的列表。
当我们需要了解目录结构和文件列表时,dir命令可以帮助我们快速获取相应的信息。
在本文中,我们将详细介绍如何使用dir命令来提取多层文件夹名和文件名。
为了更好地理解dir命令的用法和特性,让我们首先来了解一下目录结构。
目录通常被组织成多层的嵌套结构,每一层都可能包含若干个文件夹和文件。
为了让读者更容易理解,我们将使用一个示例目录结构。
假设我们有一个名为“mydir”的主目录,该目录下包含三个子目录“dir1”,“dir2”和“dir3”。
每个子目录下再分别包含若干个文件夹和文件。
现在我们的任务是提取所有文件夹和文件的名称。
在开始使用dir命令之前,我们需要打开命令提示符窗口。
按下Win+R组合键,输入“cmd”并点击“确定”按钮即可打开命令提示符窗口。
首先,我们需要切换到“mydir”目录。
在命令提示符窗口中,输入以下命令并按回车键:```cd /d C:\mydir```这将切换到“C:\mydir”目录。
请根据实际情况将路径修改为你的目录路径。
现在,我们可以使用dir命令来提取文件夹和文件的名称。
dir命令的基本语法如下:```dir /b /s > filename.txt```其中,/b参数用于以简洁列表的形式显示文件和文件夹的名称,/s参数用于显示指定目录及其子目录下的所有文件和文件夹,>和filename.txt用于将输出重定向到名为“filename.txt”的文本文件中。
你可以根据需要修改“filename.txt”的文件名和路径。
在我们的示例中,我们可以使用以下命令提取所有文件夹和文件的名称:```dir /b /s > filenames.txt```这将在当前目录下生成一个名为“filenames.txt”的文本文件,其中包含这些文件夹和文件的名称。
Linux下添加新磁盘并挂载到指定目录的方法
在Linux系统中添加硬盘,并挂载到已有的目录以如下为例:环境说明:Linux RedHat4 Updata4,加载6块SAS硬盘,做一个Raid5.挂载到/home/trsmanager目录,要求保证目录中原有数据完好已经建好的TRS全文检索,放在/home/trsmanager中,想要将扩展的硬盘空间挂载到trsmanager文件夹上,并保证全文检索正常。
方法:将添加上的硬盘使用Linux的fdisk制作一个文件系统,挂载到已有目录下。
[root@TRS01 home]# lslost+found trsmanager[root@TRS01 home]# lslost+found trsmanager[root@TRS01 home]# cd t*[root@TRS01 trsmanager]# lstrshome[root@TRS01 trsmanager]# cd ..[root@TRS01 home]# tar cvf trsmanager.tar trsmanager #将本来的文件夹trsmanager 打包保存。
(后续将原来的trsmanager清空,挂载建立好的文件系统,然后将打包的东西解压到这个目录中,还原trsmanager文件夹中的文件)。
[root@TRS01 home]# ls #ls查看并确定打包完成lost+found trsmanager trsmanager.tar[root@TRS01 home]# rm -rf trsmanager #删除trsmanager文件夹[root@TRS01 home]# lslost+found trsmanager.tar[root@TRS01 home]#[root@TRS01 home]#[root@TRS01 /]# fdisk –l #查看raid后的硬盘Disk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes255 heads, 32 sectors/track, 35132 cylindersUnits = cylinders of 8160 * 512 = 4177920 bytesDevice Boot Start End Blocks Id System/dev/cciss/c0d0p1 * 1 257 1048544 83 Linux/dev/cciss/c0d0p2 258 5397 20971200 83 Linux/dev/cciss/c0d0p3 5398 10537 20971200 83 Linux/dev/cciss/c0d0p4 10538 35132 100347600 5 Extended/dev/cciss/c0d0p5 10538 15677 20971184 83 Linux/dev/cciss/c0d0p6 15678 20817 20971184 83 Linux/dev/cciss/c0d0p7 20818 22873 8388464 83 Linux/dev/cciss/c0d0p8 22874 24929 8388464 82 Linux swap/dev/cciss/c0d0p9 24930 35132 41628224 83 LinuxDisk /dev/cciss/c0d1: 733.9 GB, 733910294528 bytes255 heads, 32 sectors/track, 175664 cylindersUnits = cylinders of 8160 * 512 = 4177920 bytes #raid后的硬盘Device Boot Start End Blocks Id System[root@TRS01 /]# fdisk /dev/cciss/c0d1 #此处的/dev/cciss/c0d1即为上面查看的raid 后的Disk 名称The number of cylinders for this disk is set to 175664.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs(e.g., DOS FDISK, OS/2 FDISK)Command (m for help): m #此处输入 m,查看可使用的命令Command actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitionl list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only)Command (m for help): n #输入n,新建一个磁盘分区Command actione extendedp primary partition (1-4)pPartition number (1-4): 1 #输入1,即为主磁盘分区First cylinder (1-175664, default 1): 1 #输入1Last cylinder or +size or +sizeM or +sizeK (1-175664, default 175664): #回车Using default value 175664Command (m for help): p # print the partition tableDisk /dev/cciss/c0d1: 733.9 GB, 733910294528 bytes255 heads, 32 sectors/track, 175664 cylindersUnits = cylinders of 8160 * 512 = 4177920 bytesDevice Boot Start End Blocks Id System/dev/cciss/c0d1p1 1 175664 716709104 83 LinuxCommand (m for help): w #写保存并退出The partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[root@TRS01 /]# fdisk –l #查看是否已建好逻辑磁盘Disk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes255 heads, 32 sectors/track, 35132 cylindersUnits = cylinders of 8160 * 512 = 4177920 bytesDevice Boot Start End Blocks Id System/dev/cciss/c0d0p1 * 1 257 1048544 83 Linux/dev/cciss/c0d0p2 258 5397 20971200 83 Linux/dev/cciss/c0d0p3 5398 10537 20971200 83 Linux/dev/cciss/c0d0p4 10538 35132 100347600 5 Extended/dev/cciss/c0d0p5 10538 15677 20971184 83 Linux/dev/cciss/c0d0p6 15678 20817 20971184 83 Linux/dev/cciss/c0d0p7 20818 22873 8388464 83 Linux/dev/cciss/c0d0p8 22874 24929 8388464 82 Linux swap/dev/cciss/c0d0p9 24930 35132 41628224 83 LinuxDisk /dev/cciss/c0d1: 733.9 GB, 733910294528 bytes255 heads, 32 sectors/track, 175664 cylindersUnits = cylinders of 8160 * 512 = 4177920 bytesDevice Boot Start End Blocks Id System/dev/cciss/c0d1p1 1 175664 716709104 83 Linux #建立完成[root@TRS01 /]#[root@TRS01 home]# lslost+found trsmanager.tar[root@TRS01 home]# mkdir trsmanager #在/home目录下新建一个文件夹trsmanager [root@TRS01 home]# lslost+found trsmanager trsmanager.tar[root@TRS01 home]# fdisk -lDisk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes255 heads, 32 sectors/track, 35132 cylindersUnits = cylinders of 8160 * 512 = 4177920 bytesDevice Boot Start End Blocks Id System/dev/cciss/c0d0p1 * 1 257 1048544 83 Linux/dev/cciss/c0d0p2 258 5397 20971200 83 Linux/dev/cciss/c0d0p3 5398 10537 20971200 83 Linux/dev/cciss/c0d0p4 10538 35132 100347600 5 Extended/dev/cciss/c0d0p5 10538 15677 20971184 83 Linux/dev/cciss/c0d0p6 15678 20817 20971184 83 Linux/dev/cciss/c0d0p7 20818 22873 8388464 83 Linux/dev/cciss/c0d0p8 22874 24929 8388464 82 Linux swap/dev/cciss/c0d0p9 24930 35132 41628224 83 LinuxDisk /dev/cciss/c0d1: 733.9 GB, 733910294528 bytes255 heads, 32 sectors/track, 175664 cylindersUnits = cylinders of 8160 * 512 = 4177920 bytesDevice Boot Start End Blocks Id System/dev/cciss/c0d1p1 1 175664 716709104 83 Linux[root@TRS01 home]# mkfs.ext3 /dev/cciss/c0d1p1 #建立文件系统mke2fs 1.35 (28-Feb-2004)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)89604096 inodes, 179177276 blocks8958863 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=42949672965469 block groups32768 blocks per group, 32768 fragments per group16384 inodes per groupSuperblock backups stored on blocks:32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,102400000Writing inode tables: doneCreating journal (8192 blocks): doneWriting superblocks and filesystem accounting information: done#以上done会自动完成This filesystem will be automatically checked every 26 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.[root@TRS01 /]# fdisk -lDisk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes255 heads, 32 sectors/track, 35132 cylindersUnits = cylinders of 8160 * 512 = 4177920 bytesDevice Boot Start End Blocks Id System/dev/cciss/c0d0p1 * 1 257 1048544 83 Linux/dev/cciss/c0d0p2 258 5397 20971200 83 Linux/dev/cciss/c0d0p3 5398 10537 20971200 83 Linux/dev/cciss/c0d0p4 10538 35132 100347600 5 Extended/dev/cciss/c0d0p5 10538 15677 20971184 83 Linux/dev/cciss/c0d0p6 15678 20817 20971184 83 Linux/dev/cciss/c0d0p7 20818 22873 8388464 83 Linux/dev/cciss/c0d0p8 22874 24929 8388464 82 Linux swap/dev/cciss/c0d0p9 24930 35132 41628224 83 LinuxDisk /dev/cciss/c0d1: 733.9 GB, 733910294528 bytes255 heads, 32 sectors/track, 175664 cylindersUnits = cylinders of 8160 * 512 = 4177920 bytesDevice Boot Start End Blocks Id System/dev/cciss/c0d1p1 1 175664 716709104 83 Linux[root@TRS01 /]# mount /dev/cciss/c0d1p1 /home/trsmanager/ #将做好的文件系统挂载到trsmanager文件夹上[root@TRS01 /]# tar xvf trsmanager.tar #解压trsmanager.tar包至trsmanager文件夹中[root@TRS01 home]# ls #查看是否解压到trsmanager目录中lost+found trsmanager trsmanager.tar[root@TRS01 home]# cd trsmanager[root@TRS01 trsmanager]# lstrshome[root@TRS01 trsmanager]# cd ..[root@TRS01 home]# rm -r trsmanager.tar #删除压缩包rm: remove regular file `trsmanager.tar'? y[root@TRS01 home]# lslost+found trsmanager[root@TRS01 ~]# vi /etc/fstab #在/etc/fstab文件中添加一行如下内容,使其永久mount /dev/cciss/c0d1p1 /home/trsmanager ext3 defaults 1 2至此,全部完毕,可以双击打开/home/trsmanager文件夹,文件夹下方查看其空间大小,验证是否挂载成功。
C++获取文件夹下的所有文件名
C++获取⽂件夹下的所有⽂件名获取⽂件夹下所有的⽂件名是常⽤的功能,今天再⼀次有这样的需求,所有就在⽹上查找了很多,并记下以供后⽤。
头⽂件:#include<io.h>1char * filePath = "D:\\sample";1 vector<string> files;23////获取该路径下的所有⽂件4 getFiles(filePath, files );56char str[30];7int size = files.size();8for (int i = 0;i < size;i++)9 {10 cout<<files[i].c_str()<<endl;11 }1void getFiles( string path, vector<string>& files )2 {3//⽂件句柄4long hFile = 0;5//⽂件信息6struct _finddata_t fileinfo;7string p;8if((hFile = _findfirst(p.assign(path).append("\\*").c_str(),&fileinfo)) != -1)9 {10do11 {12//如果是⽬录,迭代之13//如果不是,加⼊列表14if((fileinfo.attrib & _A_SUBDIR))15 {16if(strcmp(,".") != 0 && strcmp(,"..") != 0)17 getFiles( p.assign(path).append("\\").append(), files );18 }19else20 {21 files.push_back(p.assign(path).append("\\").append() );22 }23 }while(_findnext(hFile, &fileinfo) == 0);24 _findclose(hFile);25 }26 }_finddata_t 的使⽤那么到底如何查找⽂件呢?我们需要⼀个结构体和⼏个⼤家可能不太熟悉的函数。
快速批量提取一个文件夹下的所有文件名
快速批量提取⼀个⽂件夹下的所有⽂件名⽬录
⽅法1 运⾏bat⽂件
我们可以利⽤“dir /b”命令快速提取某个⽬录下⾯指定后缀的⽂件名列表
dir /B *.png
我们可以使⽤“>”从定向命令,将⽂件名列表输出到指定的⽂件中
dir /B *.png > filenames.txt
同理:DIR *.* /B >LIST.TXT————可修改为:DIR /B *.* >LIST.TXT
操作步骤:
1. 在同⼀⽂件夹⾥新建⼀个TXT⽂件,随意命名,如【1.txt】
2. 在【1.txt】记事本⽂件中输⼊:DIR . /B >LIST.TXT
3. 将【1.txt】后缀名,由txt改为bat,会弹出对话框,单击“是”,修改后名称为【1.bat】
4. 双击运⾏【1.bat】⽂件,即可⽣成【LIST.txt】⽂件
⽅法2 打开命令⾏
也可以⽤命令提⽰符输⼊dir来获取⽂件名
操作步骤:
1. 打开cmd命令⾏,cd输⼊⽂件夹路径,输⼊dir /b,就可以获取⽬录
2. 全选之后,右键点⼀下就复制了
如果只输⼊dir可以看到⽬录下更多信息。
linux挂载硬盘到home目录下(home目录扩容)
linux挂载硬盘到home⽬录下(home⽬录扩容)举例说明:新增磁盘的设备⽂件名为 /dev/vdb ⼤⼩为100GB。
#fdisk -l 查看新增的的磁盘1、对新增磁盘进⾏分区#fdisk /dev/vdb按提⽰操作 p打印 n新增 d 删除 w操作⽣效 q退出操作后 w#partprobe 强制让内核重新找⼀次分区表(更新分区表)这⾥我们新增⼀个分区 /dev/vdb1 ⼤⼩为40GB2、分区格式化#mkfs -t ext4 /dev/vdb1 格式化为ext4格式3、将新硬盘临时挂载在⼀个⽬录下#cd /mnt/#mkdir home#mount /dev/vdb1 /mnt/home 挂载到/mnt/home#df -h 查看#cp -a /home/* /mnt/home/ 把home下的东西拷到挂载的⽬录下,备份#rm -rf /home/* 把home下的东西删⼲净#umount /dev/vdb1 卸载硬盘#df -h 查看4、设置开机挂载#vi /etc/fstab末尾增加⼀⾏/dev/vdb1 /home ext4 defaults 1 2保存退出有时需要使⽤ blkid 命令查看设备的UUID号,即将上⾯的/dev/vdb1 替换成/dev/vdb1的UUID号#df -h 查看 /home是否被挂载#mount -a 挂载/etc/fstab 中未挂载的分区#df -h 查看Filesystem Size Used Avail Use% Mounted onLABEL=cec-rootfs 16G 1.9G 13G 13% /tmpfs 1.9G 0 1.9G 0% /dev/shm/dev/vda1 194M 28M 157M 15% /boot/dev/vdb1 40G 176M 38G 1% /home发现成功挂载。
提取指定文件夹下文件名,然后换上新名称
提取指定文件夹下文件名,然后换上新名称本文由两部分构成,【批量提取指定文件夹下文件名】以及【批量文件重命名】。
嗯~简易操作~不涉及VBA编程~1,批量提取指定文件夹下文件名我们举个例子,先看个小动画:如动画所示,先定义一个名称。
名称为文件夹,引用位置设置的公式为:=FILES('D:\测试\*.*')D:\测试\,是文件夹的路径,注意文件夹后有一个”\”*.*,是通配符,意思是所有的文件名称。
如果只提取Excel文件,可以修改为*.xls*,其它文件类似。
定义名称完成后,再单元格输入公式:=INDEX(文件夹,ROW(A1))向下复制填充即可取得结果,如需屏蔽错误值,可以嵌套IFERROR函数,例如:=IFERROR(INDEX(文件夹,ROW(A1)),'')2,批量文件重命名如下图表格截图所示。
A列是旧文件名(含后缀)。
B列是新文件名(含后缀),新文件名是在对应的旧文件名上更改而来。
现在需要批量将A列的文件名更正为新文件名。
步骤1:在C列输入公式:='REN'&' '&A2&' '&B2说明一下,这是DOS语句,汉语描述就是=REN&空格&旧文件名&空格&新文件名注意空格不要漏掉。
步骤2:在需要更名的文件夹下新建一个txt文件。
复制Excel工作簿C列公式的计算结果,打开新建的txt,粘贴,然后保存关闭该txt文件。
步骤3:将该txt文件的后缀名更改为.bat。
然后双击运行该文件,文件批量更名就成功了。
是不是很简单?你也动手试试吧~。
图文制作:看见星光。