本文对象 | Excel DOS命令 |
本文文字总数 | 约1553个 |
本文亮点1 | DOS tree 命令的使用 |
本文亮点2 | 函数应用: Files() Index() |
********************************************************************************
阳春三月,周末出游正当时,小玉开心不起来,细问之下,原来她正发愁,怎么给电脑上的文件做个整理,文件太多,都不清楚电脑里存储的都是什么,也不能贸然将整个文件夹都删除,哎……
哲生这里教你几招获取文件名称列表的小技巧,让我们摩拳擦掌试一试吧。
方法一,工具Excel
第一步,创建一个空白Excel
第二步,选定一个位置(某个单元格即可),在单元格内输入想要提取文件名称列表的文件夹路径
第三步,公式—>定义名称,定义一个名称 “文件列表”,在 “引用位置” 编辑框里 输入“FILES(Sheet1!$G$1&"\*.*")&T(now())”,如图1所示, 确定后在名称管理器中可以看到结果如图2所示
图1 定义名称
图2 名称管理器
第四步,在想要存放文件名称列表位置的第一个单元格里输入公式 =index(文件列表,Row(A1)), 然后下拉填充或右拉填充直到取完为止[这里我们选择下拉填充],如果已经取完,函数index()返回#REF!,如图3所示
图3 方法一的文件列表结果
该方法实用简单,可以将该Excel表格固定存放在自己电脑里,只需要变更文件夹路径,然后名称存放区域自动填充一下即可。
函数解析:
宏表函数 FILES(directory_text):该宏表函数不能直接在单元格中使用,需要通过定义名称的方式进行引用, 作用是返回指定路径下的文件名称,directory_text用于指定从哪一个目录中返回文件名,另外directory_text接受通配符问号?和星号*,问号是指匹配任意单个字符,星号匹配任意字符序列,如果要匹配问号和星号本身,请在该字符前面加入波形符~,如果directory_text没有指定,则函数返回活动工作薄所在目录下的所有文件名
T(NOW()),这个函数实际返回值为空即:="",不影响公式结果,而NOW是易失性函数,可以使工作表改名或增加、删除工作表时,公式能自动重新计算
Index()语法:INDEX(array,row_num,column_num)返回数组中指定的单元格或单元格数组的数值。INDEX(reference,row_num,column_num,area_num)返回引用中指定单元格或单元格区域的引用。
参数:Array为单元格区域或数组常数;Row_num为数组中某行的行序号,函数从该行返回数值。如果省略row_num,则必须有column_num;Column_num是数组中某列的列序号,函数从该列返回数值。如果省略column_num,则必须有row_num。Reference是对一个或多个单元格区域的引用,如果为引用输入一个不连续的选定区域,必须用括号括起来。Area_num是选择引用中的一个区域,并返回该区域中row_num和column_num的交叉区域。选中或输入的第一个区域序号为1,第二个为2,以此类推。如果省略area_num,则INDEX函数使用区域1
实例:如果A1=68、A2=96、A3=90,则公式“=INDEX(A1:A3,1,1)”返回68
方法二,采用DOS系统命令: tree
第一步,打开DOS调试窗口,(Windows+R快捷键)打开运行窗口—> 输入cmd,按回车键,即打开DOS调试窗口, 如图4所示
图4 打开DOS调试窗口
第二步,通过(cd path)使相应命令的操作都在该path下(对应路径,这里请输入你想提取文件名称列表的文件夹路径),例如 C:\Users\Administrator\Desktop\LL,如图5所示,输入命令时注意cd与文件夹路径之间一定要有空格,否则无法识别
图5 进入文件夹路径
第三步,输入命令 "tree/f>1.xls"按回车键即可,在该文件夹下将会自动生成文件1.xls, 见图6,打开1.xls可以看到获取到的文件列表,如图7
图6 文件列表文件创建
图7 方法二获取结果
注意点,在调试窗口输入任何东西,都需要是半角输入,中文状态输入的内容系统不认,另外,第三步命令中的1.xls代表运行后系统会自己创建一个1.xls的文件以记录提取出来的文件名称列表,如果想存放在文本文件中也是可以的,只需要将1.xls后缀改成.txt即可
********************************************************************************
我们来个小总结吧,两种方法各有优劣,第一种方法操作起来简单,而且可以作为一个小工具,随时使用,只需输入对应的文件夹路径即可,不过与第二种相比较起来有个缺点,一次只能提取一个文件夹内的文件,对于有子文件夹的时候需要单独操作子文件夹;第二种方法的缺点是对于在一些有组策略的办公电脑上不一定能运行成功(可能是权限的问题),另外提取出来的列表其实是文件夹与文件的树列表,所以每一个文件名称前面都会有符号“|” ,所以如果后续还想对使用文件名称列表到其他的地方时,就需要先做一些处理,使只剩下文件的名字。
这下小玉不用愁了,小伙伴们也请按实际情况选用吧!